9

涉及Play 框架TestServer类的功能测试似乎只能在 Play 控制台内工作。

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

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

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

4

2 回答 2

1

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

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

我不想将我的答案标记为已接受,因为我希望我忽略了一些东西,并且可以在游戏框架中并行运行测试。

于 2013-03-13T11:03:44.873 回答
0

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

 parallelExecution in Test := false

所以你需要在你的 Build.scala 中覆盖这个设置。

 parallelExecution in Test := true

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

于 2013-03-12T05:11:46.927 回答