0

Capybaraの最新バージョンにアップグレードした後、すべての訪問メソッドが機能しなくなったため、リクエストの仕様ディレクトリの名前を「機能」に変更するという、一部の人々が提示した解決策に従いました。これで、visitメソッドが再び機能しますが、リクエスト仕様のgetメソッドまたはpostメソッドでこのエラーが発生します。

undefined method `get' for #<RSpec::Core::ExampleGroup::Nested_1::Nested_1::Nested_1::Nested_1::Nested_1:0x007f9cce9adc20>

エラーをトリガーするコードは次のとおりです。

describe "getting posts" do
    before { get(forum_posts_path) }
    it "should respond with a 200" do
        response.response_code.should == 200
    end
end

これに対する回避策はありますか?

4

1 に答える 1

4

spec/requestsディレクトリの名前をspec/featuresに変更しないでください:両方あります:

  • Capybara DSL(visitなど)を使用し、通常はpagego in spec/featuresに対してアサートするテスト。
  • ラックテストDSL(getなど)を使用し、通常response仕様/要求の実行に対してアサートするテスト

詳細、特にそこにある外部リンクについては、このStackOverflowの回答を参照してください。

于 2013-01-23T06:46:01.063 に答える