There's one more component I've added to the NerdDinner solution in this chapter, which is a test project that uses a simulated browser to interact with the web application. The browser sends HTTP requests to an endpoint, which will actually be a container, and asserts that the responses contain the correct content.
The NerdDinner.EndToEndTests project uses SpecFlow to define feature tests, stating the expected behavior of the solution. The SpecFlow tests are executed using Selenium, which automates browser testing, and SimpleBrowser, which presents a headless browser. These are web tests that can be run from the console, so no UI components are needed and the tests can be executed in a Docker container. ...