Other things that I have come across a lot so far that are making the tests
more complex then they need to be include
* calls to production code other then what is directly under test. There
are several deprecated methods that are used only by tests.
* tests that use fakes that emulate production code behaviour. Some fakes
are extremely complex and have their own tests.
That is not to say all fakes are bad or that calls to additional production
code should always be avoided. The cost of both should however be
considered, and typically avoided.
Jeroen De Dauw - http://www.bn2vs.com
Software craftsmanship advocate
Evil software architect at Wikimedia Germany