如何期待失败的步骤并传递黄瓜的失败?

ker*_*ger 6 ruby testing cucumber

我们想测试黄瓜的步骤定义.我们希望能够检查的一件事是我们期望失败的测试实际上失败了.要做到这一点,我们想编写我们知道会失败的场景并将它们添加到我们的测试套件中,但是标记或以其他方式表示它们,以便当它们失败时它们"通过".怎么会接近这个?

Bee*_*Dog 1

您应该测试负面状态。失败的步骤只是通过步骤的逆过程。所以做类似的事情:

Then /i should not be true/ do
  some_value.should_not be_true
end
Run Code Online (Sandbox Code Playgroud)

这就是我如何进行失败测试。您还可以捕获异常等,并验证块确实抛出该异常

lambda do
  something_that_horks
end.should raise_error(Specific::Error)
Run Code Online (Sandbox Code Playgroud)

您只需反转测试用例中的测试即可测试负面结果,而不是正面结果。