我有许多cucumber功能文件,每个文件都包含许多场景。
当一起运行时,它们中的一些会失败。当我运行每个单独的测试文件时,它们都通过了。我认为我的数据库在每个场景之后都不是正确的干净的。
确定导致此行为的原因的正确流程是什么?
发布于 2011-03-16 12:36:52
这发生在我身上是因为不同的原因和不同的时间。
有时,在一个场景中调用存根或mock会搞乱另一个场景,但只有当它们都运行时(每个都可以单独运行)。
我能够解决这些问题的唯一方法是在运行足够多的测试以获得失败的同时进行调试。您可以在step_definitions中删除调试器行,或者将其作为步骤本身调用(当我调用调试器时),并将其与仅将“调试器”作为ruby代码的步骤定义进行匹配。
发布于 2011-03-08 20:26:40
听起来,你的测试是相互依赖的。您应该尝试让每个个体测试执行该个体测试运行所需的任何设置。
设置部分应该在特性的“给定”部分中完成。就我个人而言,为了防止特性变得冗长,并使它们接近编写时所用的业务语言,我有时会添加执行设置所需的附加步骤,并从特性文件中的步骤调用它们。如果这对你有意义的话
https://stackoverflow.com/questions/5230298
复制相似问题