2012-01-25 4 views
4

これらのエイリアスが正しく読み込まれていないようです。私はいくつかの統合テストを書くためにRails 3.X、rspec 2.8、capybara 1.1.2を使用しています。 カピバラのインストールは、標準の 'describe'と 'it'タグで動作するので成功したと思いますが、Capybaraの 'feature'と 'scenario'エイリアスは「未定義メソッド」エラーを投げます。RSpecで使用するとCapybaraの 'Feature'と 'Scenario'エイリアスが「未定義メソッド」エラーを投げる

私が言及する複数の設定のドキュメントには何も表示されません。 を私は単にあなたが記述組み合わせることはできませんように私のspec_helper.rbに「カピバラ/ RSpecのを必要とするが、」

答えて

16

に思え追加しました/フィーチャ/シナリオの構文を使用します。 describeブロック内にscenarioブロックがネストされたとき、同じエラーが発生しました。 describefeatureに置き換えると、テストが実行されました。 1つはわかりました:それは入れ子になったfeatureブロックが好きではないようです。これは受け入れテストの文脈では当てはまります。

describe "some feature" do # <== BAD 
    scenario "some scenario" do 
    #spec code here 
    end 
end 

feature "some feature" do # <== GOOD 
    scenario "some scenario" do 
    #spec code here 
    end 
end 

UPDATE 私はカピバラのソースコードに掘って、beforeitをするときにcreate the block with feature代わりのdescribe起こるbackgroundscenariounless the describe block gets created with capybara_feature => trueでエイリアスされません。

+1

テストにコンテキストを追加するために「シナリオ」ブロックを入れ子にしていて、これを行うための「コンテキスト」ブロックがあることがわかったので、ここに来ます! –

関連する問題