1

使用 ruby​​ / cucumber,我知道您可以显式调用 a fail("message"),但是您的其他选择是什么?

我问的原因是我们有 0... 我再说一遍,绝对不能控制我们的测试数据。我们有黄瓜测试来测试我们的数据库中可能有也可能没有用户的边缘案例。我们(出于显而易见的原因)不想丢弃测试,因为它们很有价值;然而,由于我们的数据集无法测试这种边缘情况,它会失败,因为 sql 语句返回一个空数据集。现在,我们只是让这些测试失败,但是如果 sql 语句返回一个空数据集,我希望看到类似“no_data”或类似的东西。所以输出看起来像

Scenarios:  100 total (80 passed, 5 no_data, 15 fail)

如果有功能,我愿意使用已经实现的“跳过” skip("message")

我有什么选择,所以我们可以看到,使用当前数据,我们只是没有这些测试的任何测试数据?进行这些手动测试也不是一种选择。它们需要每周通过我们的自动化运行,但以某种方式与故障分开。失败意味着缺陷,no_data found 意味着它不是可测试的条件。这是警告:我们没有测试过这种极端情况和警告:代码损坏之间的区别。

4

1 回答 1

2

您不能调用“已跳过”,但您当然可以pending在有或没有错误消息的情况下调用。我在与您类似的情况下使用过它。除非您在严格模式下运行,否则挂起的场景不会导致任何故障。我遇到的问题是,有时某个步骤会拼写错误,导致 cucumber 将其标记为待处理,因为它与步骤定义不匹配。然后,它在“合法”未决场景的海洋中迷失了,并且在我们发现它之前几周。

于 2013-03-28T21:58:51.067 回答