我正在寻找一个系统,可以在Rauds应用程序(使用RSPEC,Cucumber)上平行一套大型测试,该系统使用Jruby使用。 Cucumber实际上还不错,但是完整的RSPEC套件目前需要将近20分钟的时间才能运行。

我可以找到的系统(Hydra,并行测试)看起来像使用叉子,这不是针对Jruby环境的理想解决方案。

有帮助吗?

解决方案

我们现在对这种应用程序没有一个好的答案。就在最近我工作 只要您使用支持代码重新加载的应用程序框架(如Rails),这使您可以保持流程运行并重新运行规格或功能。看一下 jrubyhub 申请我如何使用Spork。

可能 能够为您的应用程序产生Spork实例,然后向其发送多个线程请求以运行不同的规格。但是,然后您依靠RSPEC内部设置是线程安全,不幸的是,我很确定它们不是。

也许您可以将我的代码作为起点并构建一个Spork实例,然后拥有一个可以在其上分配您的测试套件的客户。它不会节省内存,并且仍然需要很长时间才能启动,但是如果您全部启动它们并重复使用它们以重复运行,则可能会在效率上取得一些收益。

请随时以user@jruby.codehaus.org或#jruby在freenode上停止,以获取更多想法。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top