Unit Testing
- Tests a single class with no dependencies, may use mocking or stubbing to isolate the class
- Tests technical correctness and robustness
- Provides technical behaviour documentation
- Very specific, a failing test indicates an issue in a specific class
- Difficult to perform or retrofit on poor quality code
- Very fast to run, should run on the developer’s desktop in the IDE
Unit Integration Testing
- Similar to Unit Testing, but may use some dependencies such as Spring Context, Hibernate
- Tests a single class which is not appropriate to test using mocking or stubbing
- Persistence Tests
- Spring Context Initialisation Tests
- Remote Adapter Tests
- Tests technical correctness and robustness
- Provides technical behaviour documentation
- Very specific, a failing test indicates an issue in a specific class
- Difficult to perform or retrofit on poor quality code
- Very fast to run, should run on the developer’s desktop in the IDE