Testing the application
The application should have unit tests for each and every class it has, except, perhaps, for the DTO classes that contain no functionality. The setters and getters are created by the IDE and are not typed in by the programmer, so it is unlikely that there will be any errors. If there is some error related to those classes, it is more likely that it is an integration problem that cannot be discovered by using unit tests. Since we discussed unit tests in the previous chapters in detail, we will focus more on integration tests and application tests here.
Integration tests
Integration tests are very similar to unit tests, and in most cases, novice programmers claim that they perform unit testing when they actually perform integration testing.
Integration tests drive the code but do not test the individual classes (units) in isolation, mocking everything that the class may use. Rather, they test the functionality of most of the classes that are needed to perform a test. This...