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
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
テストをスキップする別の方法:
# 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ドキュメント
上記のテスト方法を無視する(スキップする)代替ソリューションを次に示します(たとえば、Test01
)サンプルスクリプトから。
describe 'Automation System' do
# some code here
it 'Test01' do
skip "is skipped" do
###CODE###
end
end
it 'Test02' do
###CODE###
end
end
これには多くの選択肢があります。主にpending
またはskipped
としてマークし、それらの間には微妙な違いがあります。ドキュメントから
例は、スキップされたものとしてマークされるか、実行されないか、または実行されても保留されてもスイート全体の障害は発生しません。
こちらのドキュメントを参照してください。
保留とスキップは素晴らしいですが、私はこれを常に無視/スキップする必要がある大きな記述/コンテキストブロックに使用しました。
describe Foo do
describe '#bar' do
it 'should do something' do
...
end
it 'should do something else' do
...
end
end
end if false
テスト中に特定のコードブロックの実行をスキップするには、2つの方法があります。
例:代わりに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
2番目の方法:ブロック内でpendingを呼び出すことにより。例:
it "should redirects to the index page on success" do
pending #this will be skipped
visit "/events"
end