请指导如何使用RSpec禁用以下测试方法之一。我正在使用Selenuim WebDriver + RSpec组合来运行测试。
require 'rspec'
require 'selenium-webdriver'
describe 'Automation System' do
before(:each) do
###
end
after(:each) do
@driver.quit
end
it 'Test01' do
#positive test case
end
it 'Test02' do
#negative test case
end
end
答案 0 :(得分:40)
您可以使用pending()
或将it
更改为xit
或将挂起的断言包装在挂起块中以进行等待实现:
describe 'Automation System' do
# some code here
it 'Test01' do
pending("is implemented but waiting")
end
it 'Test02' do
# or without message
pending
end
pending do
"string".reverse.should == "gnirts"
end
xit 'Test03' do
true.should be(true)
end
end
答案 1 :(得分:10)
跳过测试的另一种方法:
# feature test
scenario 'having js driver enabled', skip: true do
expect(page).to have_content 'a very slow test'
end
# controller spec
it 'renders a view very slow', skip: true do
expect(response).to be_very_slow
end
答案 2 :(得分:7)
以下是从示例脚本中忽略(跳过)上述测试方法(例如,Test01
)的替代解决方案。
describe 'Automation System' do
# some code here
it 'Test01' do
skip "is skipped" do
###CODE###
end
end
it 'Test02' do
###CODE###
end
end
答案 3 :(得分:4)
有很多替代品可供选择。主要将其标记为pending
或skipped
,并且它们之间存在细微差别。来自文档
示例可以标记为已跳过,但未执行,或者执行该示例,但失败不会导致整个套件失败。
在这里引用文档:
答案 4 :(得分:2)
Pending和skip很不错,但我总是将它用于我需要忽略/跳过的更大的描述/上下文块。
describe Foo do
describe '#bar' do
it 'should do something' do
...
end
it 'should do something else' do
...
end
end
end if false
答案 5 :(得分:1)
在测试过程中,有两种方法可以跳过特定的代码块。
示例:使用xit代替它。
it "redirects to the index page on success" do
visit "/events"
end
将上面的代码块更改为以下内容。
xit "redirects to the index page on success" do #Adding x before it will skip this test.
visit "/event"
end
第二种方式:通过在块内调用pending。 示例:
it "should redirects to the index page on success" do
pending #this will be skipped
visit "/events"
end