独立测试rails部分视图
Posted
技术标签:
【中文标题】独立测试rails部分视图【英文标题】:Testing rails partial views standalone 【发布时间】:2008-10-08 13:52:30 【问题描述】:我在标准 rails 2.1 项目中使用测试/单元。我希望能够独立于任何特定的控制器/动作来测试部分视图。
似乎ZenTest's Test::Rails::ViewTestCase 会有所帮助,但我无法让它工作,与 view_test http://www.continuousthinking.com/tags/view_test 类似
Google 提供的大多数东西似乎都已经过时了,所以我猜它并不真正适用于 Rails 2.1
非常感谢任何帮助。
谢谢, 罗兰
【问题讨论】:
但是,如何将对象传递给部分? 【参考方案1】:我们在 Rails 2.1 项目中使用RSpec,我们可以做这样的事情:
describe "/posts/_form" do
before do
render :partial => "posts/form"
end
it "says hello" do
response.should match(/hello/i)
end
it "renders a form" do
response.should have_tag("form")
end
end
但是我不知道你可以用 vanilla Rails 测试设备做多少。
【讨论】:
是的 - 不幸的是,我有太多的测试/单元测试无法为这个项目切换到 rspec - 尽管我已经在当前应用程序中迁移到 rspec,部分原因是它似乎支持这种细粒度的测试 你在哪个目录做这个?【参考方案2】:发现这可能是相关的:
http://broadcast.oreilly.com/2008/10/testing-rails-partials.html
【讨论】:
O'Reilly 的链接已损坏【参考方案3】:在没有控制器代码的情况下测试视图是一件危险的事情。您的测试可能会通过,但您的应用程序可能会抛出错误。始终针对现实生活中的情况进行测试,而不是人为的情况。
【讨论】:
> 您的测试可能会通过,但您的应用程序可能会抛出错误。这总是正确的。我想你可能错过了我在这里想要实现的目标。查看测试只是整体测试策略的一小部分 您可以将独立视图测试视为单元测试。您仍然需要功能和/或集成测试,但您可以使用单元测试快速测试一堆边缘案例。以上是关于独立测试rails部分视图的主要内容,如果未能解决你的问题,请参考以下文章