测试使用html转义的Rails助手

时间:2015-10-17 15:40:49

标签: ruby-on-rails minitest

我尝试在调用h(some_content)的Rails 4中测试帮助程序,但是当我运行单元测试时,我会收到:undefined method 'h' for PageHelperTest

如何在助手中调用h,但仍能在测试中执行代码?通过网站点击时,代码可以正常工作。

2 个答案:

答案 0 :(得分:0)

h方法是在ERB::Util上定义的,这在辅助测试中是不可用的。我通过更改帮助程序来调用ERB::Util.h(some_content)

来解决问题

答案 1 :(得分:0)

我刚刚遇到了类似的问题。 然而,改变帮助只是为了让测试通过对我来说是不对的。

所以我尝试了解决它(不过在Rails 3.2.22中):

include ERB::Util alias_method :html_escape, :h

我想这不是最干净的方式(别名,如果另一个助手还需要其他东西,那该怎么办)。所以我想会有一些更好的方法(包括一些模块或诸如此类的东西) - 但是这个方法有效。