Testing an application as a whole isn't easy, because preparing its dependencies can be hard or even impossible. For example, a web service often needs a storage, such as MSSQL server, a search engine, such as Elasticsearch, or distributed cache.
Of course, you can always prepare database from backup in advance and then run the tests, but it's obvious that such tests would be heavyweight and time-consuming. Another option is to replace complex dependencies with simplified ones, such as in-memory storage, which in turn will worsen test validity and reliability.
In this talk, Aliaksei will offer an approach to writing integration tests using containerization technology, which allows us to create test environment of almost any degree of complexity. He will tell how this kind of integration tests can become a part of the development process and drastically improve the project quality, drawing on real-life examples.
Developers focused on building a microservice architecture or disappointed in unit testing might find this talk especially interesting.
Technologies mentioned in this talk include ASP.NET Core, Docker, and Xunit.