我可以在黄瓜情景中强制得到什么结果

时间:2013-03-28 13:06:29

标签: ruby cucumber scenarios

使用红宝石/黄瓜,我知道您可以明确地呼叫fail("message"),但您还有其他选择吗?

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

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

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

我有什么选择,所以我们可以看到,对于当前的数据,我们只是没有这些测试的测试数据?进行这些手动测试也不是一种选择。他们需要每周运行我们的自动化,但不知何故与故障分开。失败意味着缺陷,发现no_data意味着它不是一个可测试的条件。这是警告之间的区别:我们没有测试过这种边缘情况,而警报:破坏了代码。

1 个答案:

答案 0 :(得分:2)

您无法调用'skipped',但无论是否有错误消息,您都可以调用pending。我和你的情况类似。除非您以严格模式运行,否则具有待处理方案不会导致任何故障。我遇到的问题是,偶尔会有一个步骤错误拼写导致黄瓜标记为挂起,因为它不匹配步骤定义。然后在“合法”待定情景的海洋中迷失了,并且在我们发现之前几周。