Organizing tests
The first step in easing test maintenance is to have a systematic way of organizing tests. When we are implementing a new feature, we need to be able to quickly and easily locate the existing test code for a given method or class. There are three steps to making this easy. We have to decide:
Where the files are stored on the filesystem
What the files are called
The names of the test classes
Filesystem layout
The main consideration in deciding where to place our test code is the ease with which we can locate the tests for a specific class or module. Apart from this, there are two other considerations to keep in mind:
How will this module be packaged and distributed?
How will this code be put into production?
For the first consideration, we have to keep in mind that we will want to distribute unit tests along with the main code. For code that goes into production, we might not always want tests to be deployed, so we would be looking at a way to separate the code and tests.
Given all...