我正在尝试使用rspec和capybara运行一个简单的测试:
describe "Create" do
visit new_client_path
page.should have_selector('h1', text: "New Client")
end
然而我收到错误:
undefined local variable or method `visit'
如果我删除访问行,我会收到此错误:
undefined local variable or method `page'
我已将DSL包含在spec_helper
文件中。
问题是什么?
由于
答案 0 :(得分:3)
您似乎忘了将测试放在it
区块内:
describe "Create" do
it "does something" do
visit new_client_path
page.should have_selector('h1', text: "New Client")
end
end
答案 1 :(得分:0)
假设您使用的是Rails 3和RSpec,您是否已将规范放在功能而非请求中?如果使用功能目录,则不需要包含DSL。
同时检查您是否拥有最新版本的宝石。
来自https://github.com/jnicklas/capybara:
将Capybara与RSpec一起使用
通过添加以下行来加载RSpec 2.x支持(通常添加到您的 spec_helper.rb文件):
要求'capybara / rspec'如果您使用Rails,请将您的Capybara放入 规格/功能中的规格。