1
我正在学习TDD并运行一些功能测试,并遇到了辅助方法的问题。功能无法访问的Rspec助手方法
我已经从功能测试拉出下面的方法:
todo_helper.rb
module Features
def create_todo(todo_title)
click_on "Add a new todo"
fill_in "Title", with: todo_title
click_on "Submit"
end
end
然而,当我运行特性测试,我发现了以下错误。
Failures:
1) User creates todo successfully
Failure/Error: create_todo 'Buy Milk'
NoMethodError:
undefined method `create_todo' for # <RSpec::ExampleGroups::UserCreatesTodo:0x007fb1f351b150>
# ./spec/features/user_creates_todo_spec.rb:8:in `block (2 levels) in <top (required)>'
Finished in 0.34992 seconds (files took 2.01 seconds to load)
1 example, 1 failure
Failed examples:
rspec ./spec/features/user_creates_todo_spec.rb:5 # User creates todo successfully
我有两个测试是拉这种方法,他们都失败。这是上面的一个:
user_creates_todo_spec.rb
require "rails_helper"
feature "User creates todo" do
scenario "successfully" do
sign_in
create_todo 'Buy Milk'
expect(page).to have_css '.todos li', text: 'Buy Milk'
end
end
这很奇怪,因为我创造,我使用了sign_in上述方法的另一个助手和工作正常,但可不知道为什么第二个不工作。我在原始功能中隔离了create_todo方法,并在每个功能中传递,但不作为帮助。任何帮助表示赞赏。
谢谢。我在rails_helper.rb中添加了前一个模块,但没有意识到我已经完成了这一步。现在它会粘在我的大脑里。 –