3

カピバラのメソッドはすべて魔法のように未定義のようです。私は TDD のいくつかのテストをスタブ化しようとしており、次のテストを作成しました。

  it "sign in and fail" do
    click_link "login"
    fill_in "User Name", :with => "Test"
    fill_in "Password", :with => "test"
    click_button "sign in"
    page.should have_content("User does not exist. Pleae try registering in.")
  end

そのようなリンクが存在しないという理由だけで、click_linkでびっくりするはずです。代わりに、次のように言ってびっくりします:

NoMethodError:
       undefined method `click_link'

だから私は自分の宝石ファイルをチェックしました:

gem "rspec-rails", :group => [:test, :development]
group :test do
    gem "factory_girl_rails"
    gem "capybara"
    gem "guard-rspec"
    gem 'database_cleaner'
    gem "launchy"
end

そして、私は自分の pec ヘルパーをチェックしました。

require 'capybara/rspec'
require 'capybara/rails'

では、ガードが実行されたときに発生するメソッド未定義エラーは何なのでしょうか? 「クリックするリンクがありません...」と言っているはずです。「click_linkが何かわかりません」ではありません。訪問、クリックボタン、含むなどでびっくりします。

私が知る限り、カピバラは正しくインストールされています....

4

1 に答える 1

1

これをenv.rbに入れてみてください:

include Capybara::DSL

そして、テストを実行します

于 2014-08-15T18:16:59.073 に答える