I often see long
before blocks with lots of
should_receive ... and_return inside.
before blocks are about setting up the "stage" (the context of your test), not declaring your expectations!
Also, they get run for every spec (every
should_receive, if you actually care that the calls are made (watch out not to expect calls that are just an implementation details, only things that you need to see called)