【问题标题】:Testing rails partial views standalone独立测试rails部分视图
【发布时间】: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

非常感谢任何帮助。

谢谢, 罗兰

【问题讨论】:

  • 但是,如何将对象传递给部分?

标签: ruby-on-rails ruby testing tdd views


【解决方案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】:

【讨论】:

  • O'Reilly 的链接已损坏
【解决方案3】:

在没有控制器代码的情况下测试视图是一件危险的事情。您的测试可能会通过,但您的应用程序可能会抛出错误。始终针对现实生活中的情况进行测试,而不是人为的情况。

【讨论】:

  • > 您的测试可能会通过,但您的应用程序可能会抛出错误。这总是正确的。我想你可能错过了我在这里想要实现的目标。查看测试只是整体测试策略的一小部分
  • 您可以将独立视图测试视为单元测试。您仍然需要功能和/或集成测试,但您可以使用单元测试快速测试一堆边缘案例。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-22
  • 1970-01-01
  • 1970-01-01
  • 2013-08-30
  • 1970-01-01
  • 1970-01-01
  • 2013-06-18
相关资源
最近更新 更多