【发布时间】:2011-08-26 22:31:30
【问题描述】:
我一直在使用 Capybara 进行集成/请求测试,但刚刚意识到我不能用它进行视图测试。
This SO answer建议Webrat和Capybara可以串联使用;但RSpec docs 建议必须在两者之间进行选择。 Here's another github thread 表明 webrat 可用于视图,而 capybara 可用于集成。
我发现如果我在我的 gemfile 中包含 Webrat,我可以毫无问题地将 webrat 用于视图,但是我的水豚风格的集成测试不再起作用。具体来说,我收到以下简单示例的错误:
it "should have a Home page at '/'" do
visit '/'
page.should have_selector('title', :content => "Home page")
end
我得到错误:
No response yet. Request a page first.
让 webrat 和 capybara 互相喜欢的最好方法是什么(如果有的话?)?
【问题讨论】:
-
我遇到了同样的问题。不过我必须说,一个月前我在另一个项目上一起使用没有问题。似乎不再起作用了。另一件事,我尝试将 capybara 更新为 1.0.0.beta1。我只是收到不同的错误消息。
-
我已经放弃了,刚开始在没有 webrat 的情况下使用 capybara。我现在使用 capybara 的集成测试方法以一种迂回的方式测试我的观点 - 绝对不理想,但会做。我相信有办法让他们一起工作,但我们希望有人能给出一个好的答案!
-
快速提问,您如何在控制器中使用 capybara 测试放置和删除操作?它似乎只有一个只能发出 GET 请求的“访问”操作?
-
@duckyfuzz:尝试访问whatever_path, :put, {'key' => 'value'} 并访问whatever_path, :delete
-
@Tyler:我还没有机会测试你的建议,但我不久前就这个问题有一个悬而未决的问题,所以也许你想在那里发布你的建议,如果我可以让它工作我会接受你的回答吗? stackoverflow.com/questions/5908216/…
标签: ruby-on-rails unit-testing rspec capybara webrat