Cucumber 黄瓜和水豚测试失败,如何调试?

Cucumber 黄瓜和水豚测试失败,如何调试?,cucumber,ruby-on-rails-3.1,Cucumber,Ruby On Rails 3.1,我是全新的测试水豚和黄瓜。我在上面看到了一些非常有用的视频,并编写了我的第一个测试。然而,他说测试失败了,我不知道为什么 我相信我有我需要的所有宝石,并且我有理由相信所有配置都是按照文档完成的 但是,当我运行该功能时,它会因缺少内容而失败,但我知道内容在正确的视图中,并且我知道视图得到了正确的服务。我可以手动导航,看起来应该是这样,但是cucumber/capybara的步骤表明它找不到内容 对于我的步骤定义,我有: When I visit the homepage get root_pa

我是全新的测试水豚和黄瓜。我在上面看到了一些非常有用的视频,并编写了我的第一个测试。然而,他说测试失败了,我不知道为什么

我相信我有我需要的所有宝石,并且我有理由相信所有配置都是按照文档完成的

但是,当我运行该功能时,它会因缺少内容而失败,但我知道内容在正确的视图中,并且我知道视图得到了正确的服务。我可以手动导航,看起来应该是这样,但是cucumber/capybara的步骤表明它找不到内容

对于我的步骤定义,我有:

When I visit the homepage
  get root_path
  response.should have_content("Log In")
end
在应用程序布局中,我使用了“登录”一词,当用户未登录时显示

当功能运行时,我收到失败消息:

expected there to be content "Log In" in ""

有没有办法查看测试中响应呈现的html是什么?我试着做了一个看跌期权(回应),但没有任何效果。我没有考虑它可能失败的任何其他原因?

您必须使用
访问
获取
。此外,当我转到
(参见web_steps.rb和paths.rb)时,最好拆分步骤并使用标准步骤


我建议你看看这个项目——它有一套很酷的功能,你可以用它作为例子。

你必须使用
visit
而不是
get
。此外,当我转到
(参见web_steps.rb和paths.rb)时,最好拆分步骤并使用标准步骤


我建议你看看这个项目——它有一套很酷的功能,你可以用它作为例子。

使用“保存”和“打开”页面:


使用保存和打开页面:


除了保存和打开页面功能外,我发现我更喜欢使用launchy gem。它似乎更像黄瓜

如果你添加到你的文件中

gem 'launchy'
当然,我要跑了

bundle install
您可以在cucumber测试中简单地编写:

When ...
Then show me the page
Then I should see ...

然后显示页面也将启动浏览器。我还没有检查,但我猜它只是位于save_和open_页面功能的顶部,但同样,它对我来说感觉更好。

除了save_和open_页面功能之外,我发现我更喜欢使用launchy gem。它似乎更像黄瓜

如果你添加到你的文件中

gem 'launchy'
当然,我要跑了

bundle install
您可以在cucumber测试中简单地编写:

When ...
Then show me the page
Then I should see ...

然后显示页面也将启动浏览器。我还没有检查,但我猜它只是位于“保存”和“打开”页面功能的顶部,但同样,它对我来说感觉更好。

我很感激关于使用标准化名称的建议,但在遵循您的建议之后,我仍然没有通过同样的步骤,并且对原因也同样缺乏了解。我很感激关于使用标准化名称的建议,但在遵循您的建议后,我仍然没有通过同样的步骤,并且对原因也同样缺乏了解。这正是我想要的,谢谢。但是,当我看到那个页面时,我正在寻找的内容就在那里,所以我不确定我还缺少什么。这个链接已经过时了。找不到文件。@mWatch我不再使用水豚,这是9年前的,但如果有人共享更新的链接,我可以编辑我的回复。这正是我想要的,谢谢。但是,当我看到那个页面时,我正在寻找的内容就在那里,所以我不确定我还缺少什么。这个链接已经过时了。找不到文件。@mWatch我不再使用水豚,这是9年前的,但如果有人共享更新的链接,我可以编辑我的回复。