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 in those. If there is some error related to those classes, it is more likely that it is some integration problem that cannot be discovered 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 test
Integration tests are very similar to unit tests, and many times, novice programmers claim they do unit testing when they actually do 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 way, the...