Earlier this week I gave the following talk at Scalapeño 2014. Below are the slides for your convenience. The video recording can be found on the conference’s Parleys channel. The talk is also accompanied by a very detailed code example that shows how to implements all the discussed concepts.
In this talk we will show how we can take our unit/integration tests a step further, and see how to test our applications end-to-end. Scala is a prime candidate for end-to-end testing, having all the right pieces in place: an easily extendable build tool (SBT), fluent DSL testing libraries (Specs2/ScalaTest), and the power/tooling of the JVM behind it.
We will see how to approach testing our application from the outside, and touch on concepts such as: the Test Harness, abstracting our SUT (System Under Test) by using test Drivers, using Fakes for testing against external dependencies, and more. We will put everything together by using tools such as: SBT, Ansible and Vagrant.