Как игнорировать или пропустить метод тестирования с помощью RSpec?
просьба указать, как отключить один из нижеперечисленных методов тестирования с помощью 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
Ответы
Ответ 1
Вы можете использовать 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
Ответ 2
Другой способ пропустить тесты:
# 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
источник: документация rspec 3.4
Ответ 3
Вот альтернативное решение для игнорирования (пропустить) вышеупомянутый тестовый метод (скажем, Test01
) из образца script.
describe 'Automation System' do
# some code here
it 'Test01' do
skip "is skipped" do
###CODE###
end
end
it 'Test02' do
###CODE###
end
end
Ответ 4
Есть несколько альтернатив для этого. В основном, помечая его как pending
или skipped
, и между ними есть небольшая разница. Из документов
Пример может быть помечен как пропущенный, в котором он не выполнен, или в состоянии ожидания, в котором он выполняется, но сбой не приведет к отказу всего пакета.
Сошлитесь на документы здесь:
Ответ 5
Ожидание и пропустить приятно, но я всегда использовал это для более крупных блоков описания/контекста, которые мне нужно было игнорировать/пропускать.
describe Foo do
describe '#bar' do
it 'should do something' do
...
end
it 'should do something else' do
...
end
end
end if false
Ответ 6
Существует два способа пропускать определенный блок кода во время тестирования.
Пример: использование 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
Второй способ: вызов в ожидании внутри блока.
Пример:
it "should redirects to the index page on success" do
pending #this will be skipped
visit "/events"
end