Video: https://parleys.com/play/5460c793e4b0dab81f955667
Exploring what end-to-end tests are, why they are important for Scala apps, and how to write them. A talk given at Scalapeno 2014. Talk is accompanied by a code example: https://github.com/orrsella/scala-e2e-testing
Abstract:
It seems that by 2014 we have all come to the realization that testing is good, and today no reputable library/framework will be released without comprehensive tests. Whether you're developing using TDD or not, you're probably writing tests in some capacity. We have a plethora of testing libraries and tools that make writing tests in Scala extremely easy.
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 Simplicators for testing against external dependencies, and more. We will put everything together by using tools such as: SBT, Ansible and Vagrant.