似乎所有的水豚方法都是神奇的未定义的。我正在尝试为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'那么当guard运行时,这个未定义的方法错误是怎么回事?它应该会告诉我“嗯,没有我可以点击的链接...”不是“我不知道click_link是什么”它会在访问、click_button、包含等操作中崩溃。
据我所知,水豚安装正确……
发布于 2014-08-16 02:16:59
试着把这个放到你的env.rb里:
include Capybara::DSL然后运行测试
https://stackoverflow.com/questions/16270781
复制相似问题