2014-02-05 39 views
0

我正在为我们正在为第三方制作的网络应用程序编写黄瓜测试,他们对我们的共享测试环境有完全控制权。现在情况正好,由于我们的测试环境中的数据被删除或更改,我的测试几乎每天都会失败,给我带来很大的悲痛。如果没有测试数据,使黄瓜测试成功

我想要做的是跳过一个场景,因为执行它所需的测试数据不存在。也就是说,我希望能够跳过基于场景上我找到一个特定元素的页面或不

回答

1

试试这个...虽然它没有标记为成功

Feature: dummy 

Scenario: First 
    Given I set sessions to "10" 
    Then it should have "10" 

Scenario: second 
    Given it should have "10" 
    Then I set sessions to "10" 

步骤

Given(/^I set sessions to "(.*?)"$/) do |arg1| 
    @data = "" 
end 

Then(/^it should have "(.*?)"$/) do |arg1| 
    @data = "test" 
end 

AfterStep do |scenario| 
    scenario.skip_invoke! if @data.empty? 
end 

2 scenarios (1 skipped, 1 passed) 
4 steps (1 skipped, 3 passed) 
0m0.008s 
+0

我还没有测试过,但我只是想知道什么“scenario.skip_invoke!”因为我无法找到任何文件。如果它标记为“失败”的情况被忽略而不影响任何后续情况,那么这应该起作用。 – Metareven

+0

我已经测试过它,它可以工作,但不幸的是,测试在HTML格式化程序中变为“绿色”。有没有人知道是否有一种方法可以使测试以这种方式跳过,就像未实施的测试一样变黄 – Metareven

1

如果你想跳过场景,使它看起来像黄色的HTML报告,你可以尝试调用像这样在你的步骤定义待定步:

steps %{ 
Given pending 
} 
+0

这是一个好主意 – Metareven