为什么我的黄瓜场景在步骤一起运行时失败,但在单独运行时通过?

当我整个运行我的黄瓜场景,或者使用命令:黄瓜时,我得到7个失败的步骤。 当我使用正在进行的工作标签单独运行它们时,它们会很好地通过。

我不认为这是一个数据库状态问题..我正在运行事务,我也尝试运行没有和清理数据库清理数据库….仍然没有帮助。

我试图运行调试器,但是当我运行命令黄瓜时它似乎不起作用。 它只适用于我使用正在进行的工作标记: cucumber -p wip

我认为可能是事情运行得太快而且水豚没有正确检查事情?

有任何想法吗?

找到了! 我一直有同样的问题一段时间了 – 我的测试变得越来越慢,我添加的越多 – 同样,一些测试会随机失败,但只有当作为整个套件运行时 – 在我的测试结束后我才会运行function再次和中提琴! 一切都过去了 非常令人沮丧 – 但最令人沮丧的部分是速度 – 最近我升级到雪豹并将所有内容编译为64位。 结果? 我的测试从7分钟变为32分钟!

然而有一个线索 – 64位应用程序使用更多的内存来做同样的事情 – 显然 – 然而,当我运行我的测试时,我的机器上的内存永远不会接近最大化。 提示#2? Webrat正在快速发展,只有当使用culerity / celerity来测试javascript时,事情才真正放慢速度。

在探索之后我发现jruby告诉java给它一个512 mbs的最大“堆大小”。 JRuby允许您在调用时设置java选项,而culerity允​​许环境变量以您喜欢的方式调用jruby。 果然,在那个时候,java会停止消耗内存,而处理器会试图让自己着火。 那你准备好了吗? 这里是:

JRUBY_INVOCATION="jruby -J-Xmx1024m" cucumber

这使我的堆大小增加到一个千兆字节,我的测试时间下降到7分钟! 是吗? 我明白了吗? 我当然希望它有所帮助!