In this last section, we'll cover another level of tests that is able to test exposed features involving workflows crossing the atomic services provided by an application. This level of testing is also able to test interfaces opened to the wild, such as HTTP REST interfaces. These tests are probably the most important ones because they're asserting that our application is presenting features to the end user and these features are working well. That is, they are asserting that we've created added value to our application for the end user.
These kinds of tests are also the most difficult ones because they include third-party products or infrastructure components such as a browser and an HTTP server. However, we'll see that Play! Framework 2 is aware of these requirements, and it prepares everything for us in order to let us focus on the test logic only.
As in the preceding sections, several dedicated helpers are available for our tests. The first one is an overloaded version...