2011-08-14 136 views
1

我是全新的测试w /水豚和黄瓜。我看到了一些非常有用的视频,并写下了我的第一个测试。然而,说测试失败了,我不知道为什么。黄瓜和水豚测试失败,我该如何调试?

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

但是,当我运行该功能时,它失败的内容丢失,但我知道内容是在正确的视图,并且我知道视图正在正确服务。我可以手动导航,看起来应该是这样,但是黄瓜/水豚步骤说它找不到内容。

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

When I visit the homepage 
    get root_path 
    response.should have_content("Log In") 
end 

在应用程序布局,我有话“登录”,可展示时未登录用户

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

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

有没有办法看到测试中的响应呈现的是什么html?我试着做一个投入(回应),但没有做任何事情。任何其他原因,可能是我没有考虑失败?

回答

1

您必须使用visit而不是get。而且最好是分开你的脚步,并使用标准分级When I go to <page_name>(见web_steps.rb和paths.rb)

我建议你看看到rubygems.org项目 - 它有很酷的功能集,你可以使用它作为一个例子。

+0

我很欣赏关于使用标准化名称的建议,但在遵循您的建议之后,我仍然没有采取相同的步骤,并且对原因缺乏洞察力。 – Paul

4

除了save_and_open_page功能,我发现我喜欢使用launchy宝石多一点。它看起来更加黄瓜。

如果您添加到您的Gemfile

gem 'launchy' 

当然运行

bundle install 

你可以简单地在你的黄瓜测试记录:

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

然后告诉我页面也会启动浏览器。我没有检查过,但我猜它只是坐在save_and_open_page函数的顶部,但再一次,这对我来说感觉更好。