0

我正在尝试使用 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文件中。

问题是什么?

谢谢

4

2 回答 2

3

您似乎只是忘记将测试放在it块内:

describe "Create" do
  it "does something" do
    visit new_client_path 
    page.should have_selector('h1', text: "New Client") 
  end
end
于 2013-07-02T06:08:57.943 回答
0

假设您使用的是 Rails 3 和 RSpec,您是否将规范放在功能而不是请求中?如果您使用 features 目录,则不需要包含 DSL。

还要检查您是否拥有最新版本的 gem。

来自https://github.com/jnicklas/capybara

将 Capybara 与 RSpec 一起使用

通过添加以下行(通常添加到您的 spec_helper.rb 文件)加载 RSpec 2.x 支持:

需要 'capybara/rspec'如果您使用的是 Rails,请将您的 Capybara 规范放在规范/功能中。

于 2013-07-01T22:09:13.127 回答