web-dev-qa-db-ja.com

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
28
Prashanth Sams

pending() を使用するか、itxitに変更するか、待機実装の保留ブロックにアサートをラップできます。

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
41
Зелёный

テストをスキップする別の方法:

# 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ドキュメント

10

上記のテスト方法を無視する(スキップする)代替ソリューションを次に示します(たとえば、Test01)サンプルスクリプトから。

describe 'Automation System' do

  # some code here

  it 'Test01' do
     skip "is skipped" do
     ###CODE###
     end
  end

  it 'Test02' do
     ###CODE###         
  end    
end
7
Prashanth Sams

これには多くの選択肢があります。主にpendingまたはskippedとしてマークし、それらの間には微妙な違いがあります。ドキュメントから

例は、スキップされたものとしてマークされるか、実行されないか、または実行されても保留されてもスイート全体の障害は発生しません。

こちらのドキュメントを参照してください。

4
tejasbubane

保留とスキップは素晴らしいですが、私はこれを常に無視/スキップする必要がある大きな記述/コンテキストブロックに使用しました。

describe Foo do
  describe '#bar' do
    it 'should do something' do
      ...
    end

    it 'should do something else' do
      ...
    end
  end
end if false
2
caspian311

テスト中に特定のコードブロックの実行をスキップするには、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
1
Prabhakar