红宝石黄瓜测试实践

时间:2011-03-08 08:58:45

标签: ruby-on-rails testing cucumber bdd

我有很多黄瓜特征文件,每个文件都包含很多场景。

一起运行时,其中一些会失败。 当我运行每个单独的测试文件时,它们会通过。 我认为在每个场景之后我的数据库都没有正确清理。

确定导致此行为的原因的正确流程是什么?

2 个答案:

答案 0 :(得分:2)

听起来,你的测试是相互依赖的。您应该尝试让每个indervidual测试执行所需的设置,以便运行该indervidual测试。

设置部件应在功能的“给定”部分完成。 就个人而言,为了阻止功能变得冗长并使它们接近所写的业务语言,我有时会添加执行设置所需的其他步骤,并从功能文件中的步骤调用它们。 如果这让你感到高兴

答案 1 :(得分:0)

出于不同的原因和不同的时间,这种情况发生在我身上。

有时它会在一个方案中调用存根或模拟,这会破坏另一个,但只有当它们都运行时(每个都很好)。

我能够解决这些问题的唯一方法是在运行足够的测试时进行调试以获得故障。你可以在step_definitions中删除调试器行,或者将它作为一个步骤本身调用(当我调用调试器时)并将其与一个只是将'debugger'作为ruby代码的步骤定义相匹配。