module ApplicationHelper
def title(page_title, show_title = true)
content_for(:title) do
page_title.to_s
end
@show_title = show_title
end
end
有人知道如何使用测试单元测试这个助手吗?
最佳答案
对于 Rails 中的任何辅助测试,您总是从 tests/unit/helpers 开始。
因为这是一个 ApplicationHelper,所以使用名为 application_helper_test.rb
的文件
在那个文件中你可以有类似的东西
test "displays page title" do
assert_equal "April 2010", title("April 2010", false)
end
您可以通过像往常一样调用方法并断言返回的内容来测试帮助程序中返回的任何内容。
不知道你在做什么,就个人而言,这个方法中发生了太多事情,但这可能只是我。
我会把这两个分开,这样您的助手就只返回一个 page_title,而另一个助手返回一个“show_title”,不管它是什么。或者这就像你的开关说“我应该在页面上显示这个标题”?
关于ruby-on-rails - Rails 测试单元 - content_for 的助手,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4096960/