我在功能中有以下情况:
@home
Feature: Home page
@home
Scenario: User launches home page
Given a user visits the home page
And user is not signed in
Then he should see user signin information
看到2个问题:
1)当我运行rake cucumber --tags @home
时,它会抛出错误:invalid option: --tags
所以,我使用cucumber --tags @home
2)抛出以下错误:
Given a user visits the home page # features/step_definitions/home_steps.rb:2
And user is not signed in # features/step_definitions/home_steps.rb:23
Then he should see user signin information # features/step_definitions/home_steps.rb:6
expected link "User Sign In" to return something (RSpec::Expectations::ExpectationNotMetError)
./features/step_definitions/home_steps.rb:8:in `/^he should see user signin information$/'
features/home.feature:8:in `Then he should see user signin information'
但是,当我在浏览器中启动并查看时,我可以看到并单击该链接,我验证了该步骤以确保没有拼写错误或额外空格。
有人可以帮我解决这个问题吗?
步骤:
Given /^a user visits the home page$/ do
visit home_path
end
Given /^user is not signed in$/ do
end
Then /^he should see user signin information$/ do
page.should have_link('User Sign In', href: user_signin_path)
end
答案 0 :(得分:1)
您可以在save_and_open_page
子句之前添加page.should have_link
来尝试调试您的应用。这将打开一个浏览器页面,你会在它检查你的期望之前看到黄瓜“看到”了什么。