Building an Immune System in Scala
summary
Outbrain’s Immune system uses Scala, ScalaTest and Specs2 plus JDBC to isolate tests by creating and deleting test data per test, applying a test-data loan pattern, and mixing in a Specs2 ForEach scope trait so each test gets a fresh DB transaction. This removes shared-state flakiness, enables parallel runs, cuts a service’s integration-suite runtime from about 25 minutes down to ~4 minutes, and eliminates per-test boilerplate while keeping CI-driven delivery fast and reliable.
AI-written summary · about
chapters (6)
- 0:00Introduction
- 1:25Testing challenges at scale
- 6:10Pain points in testing
- 10:59Solving flakiness and slowness
- 17:09Loan pattern for isolation
- 21:52Results and improvements
related talks
40mScala, Docker and Testing oh my!
48mHigh performance Scala systems without tears
31mSCALATEST: YOU'RE ASSERTING IT WRONG
32mSpeedy Scala Builds at Databricks
43mAPI first with Swagger and Scala
46mIntegration testing of microservices in Scala
05mInterview
48mPROBING THE UNPROVABLE AND PROVING THE IMPROBABLE
