The year is 2019 and there have never been more people writing functional Scala. We’ve grown tired of frameworks, magic (reflection) and omnipotent testing libraries with hundreds of testing styles.
I want to fight back against tests that stop on the first failed assertion. Against beforeAll and afterEach. I want to seek vengeance for unexpected, globally configured test parallelism and flaky tests.
I want to rethink how we test pure and effectful functional code and show another approach to doing it in Scala.
In this talk, I share what I’ve learned trying to make that approach real. We’ll talk about the characteristics of test frameworks, functional API design and making trade-offs.