似乎所有的水豚方法都神奇地未定义。我正在尝试对 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 文件:
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 是什么”。它在访问,click_button,包含等等时吓坏了。
据我所知水豚安装正确....