gpt4 book ai didi

ruby-on-rails-3 - 使用 capybara 和rails3进行Rspec View 测试

转载 作者:行者123 更新时间:2023-12-03 01:12:40 24 4
gpt4 key购买 nike

我真的很喜欢 RSpec 能够分离 Controller 和 View 测试的方式,但在让 capybara 匹配器在 View 测试中工作时遇到一些问题。我基本上想要实现的是这样的:

describe "some page" do
it "should render with lots of stuff" do
assign ..
render
rendered.should have_button ('Any button') #or any capybara matcher, really
end
end

我在网上看到了一些帖子,展示了如何配置 capybara 和rails3以顺利地与cucumber或rspec Controller 测试一起工作,但这并不是我真正想要的 - 也就是说,在尽可能低的级别测试 View 。

此外,如果有另一种方法可以做到这一点(不需要大量的自定义代码,因为我知道我可以编写一些匹配器,使用 nokogiri 或任何合适的工具从渲染中提取给定的选择器),那也很棒 - 使用 capybara 是不是要求。

最佳答案

现在可以选择在测试 Controller (以及 View )时使用 Capybara 匹配器(没有 Webrat 包袱)。我这样使用它:

describe GlobalizeTranslationsController do

render_views
let(:page) { Capybara::Node::Simple.new(@response.body) }

describe "PUT :update" do
before do
put :update
end

it "displays a flash notice" do
page.should have_selector('p.notice')
end

end

end

完整代码:

引用文献:

关于ruby-on-rails-3 - 使用 capybara 和rails3进行Rspec View 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4706370/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com