2
* Most of the tests are named poorly; naming should describe a use case in story-like language, not simply identify the
3
unit under test. An example would be the difference between testCalculate and testAddingIntegersTogetherWorks.
4
* Many of the tests make multiple assertions, and are thus not unitary tests. By using data-providers and more use-case
5
oriented test selection nearly all of these cases can be easily resolved.
6
* Some of the test files are either incorrectly named or in the wrong folder. Tests should be organized in a mirrored
7
structure to the source they are testing, and named the same, with the exception of the word "Test" at the end.
8
* Shared set-up code or base classes are present, but usually named improperly or appear to be poorly factored. Support
9
code should share as much of the same naming as the code it's supporting, and test and test-case depenencies should be
10
considered to resolve other shared needs.