Play框架的并行测试运行器

时间:2013-03-11 12:13:56

标签: java junit sbt playframework-2.1 test-runner

涉及 Play Framework TestServer类的功能测试似乎只能在Play控制台中运行。

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

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

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

2 个答案:

答案 0 :(得分:1)

在对该主题进行调查后,似乎Play忽略了SBT测试配置设置。我在这里报告了这个问题:

https://github.com/playframework/Play20/issues/849

我不想标记我的答案,因为我希望我忽略了某些内容,并且可以在播放框架中并行运行测试。

答案 1 :(得分:0)

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

 parallelExecution in Test := false

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

 parallelExecution in Test := true

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