Why does scalatest mix up the output?
It looks to me the reason for that is that SBT by default executes the tests in parallel, the same way maven-surefire-plugin does.
As it is explained in ScalaTest wiki, this can be solved by:
Disable Parallel Execution of Tests By default, sbt runs all tasks in parallel. Because each test is mapped to a task, tests are also run in parallel by default. To disable parallel execution of tests:
parallelExecution in Test := false