A
DeveloperTest is the correct name for what the industry generally calls a
UnitTest. It is a test written for developers, as distinct from an
AcceptanceTest or
CustomerTest, written for the
OnsiteCustomers. (See Also
ProgrammerTest)
-
- The industry generally considers a UnitTest to be the smallest piece of testable code which is tested in isolation from its dependencies. If a DeveloperTest is not that then a DeveloperTest can't be the correct name for what the industry generally calls a UnitTest. A DeveloperTest sounds more like what Gerard Meszaros calls a ComponentTest (i.e. not as isolated as a UnitTest, but smaller than an IntegrationTest).
A
UnitTest might be a
CustomerTest, if the Customer has specified a super-high level of rigor, such as for medical, avionics, high finance, etc. A
UnitTest only tests details in strict isolation from each other. To test an object, you must replace all its dependencies with
MockObjects. This is so the failure of one
UnitTest implicates one and only one unit.
Under
TestDrivenDevelopment, the failure of a
DeveloperTest should implicate only the last edit. (Tip: Revert it!) This is why
DeveloperTests should
not abuse
MockObjects. Each test case can cross more than one module, providing cross-testing.
CategoryTesting