As I continue to work on the NerdDinner tutorial, I have discovered that some of
my development patterns has to change. Surprise? One thing that has to change is
how I write tests with NUnit, when testing my repositories.
I use to create test classes that have private objects that are initialized in a
TextFixtureSetUp method. If we consider that I am to test the DinnerController,
using a mock repository, the approach would be as such:
However, consider the following tests:
Since the two test cases use the same object instances, their verifications will
not work as expected. The repository’s Get function will be called twice, since
both test cases call it.
The solution is (thanks, Micke!) to replace [TextFixtureSetUp] with [SetUp].
The first is called once, prior to all tests, which the second is called before
each test case.