Play框架的并行测试运行器

Tam*_*mas 9 java junit test-runner sbt playframework-2.1

涉及Play FrameworkTestServer类的功能测试似乎只在Play控制台内部工作.

不幸的是,由play test命令执行的Play控制台中的股票测试运行器按顺序执行测试,这需要花费很多时间.我认为如果并行执行它们会运行得更快.

有没有办法并行运行测试?

更新:SBT支持在并行和不同的JVM中运行测试,这使得TestServer在理论上如果它们在不同的端口上侦听时可以使多个实例并行.Play似乎忽略了这些设置.请参阅我报告的问题:https://github.com/playframework/Play20/issues/849.对于那些展示让Play Framework尊重这些SBT测试设置以使用Build.scala文件在不同JVM中并行运行基于junit的测试的方式的人来说,这是一个赏金.

bus*_*r84 0

Play2 的默认specs2 设置不允许并行执行。 https://github.com/playframework/Play20/blob/master/framework/project/Build.scala#L290

 parallelExecution in Test := false
Run Code Online (Sandbox Code Playgroud)

因此,您需要在 Build.scala 中覆盖此设置。

 parallelExecution in Test := true
Run Code Online (Sandbox Code Playgroud)

但我认为你不能执行并行测试,因为TestServer需要端口。如果你想并行执行测试,你应该在每个测试用例中更改端口。