我尝试在调用h(some_content)
的Rails 4中测试帮助程序,但是当我运行单元测试时,我会收到:undefined method 'h' for PageHelperTest
。
如何在助手中调用h
,但仍能在测试中执行代码?通过网站点击时,代码可以正常工作。
答案 0 :(得分:0)
h
方法是在ERB::Util
上定义的,这在辅助测试中是不可用的。我通过更改帮助程序来调用ERB::Util.h(some_content)
答案 1 :(得分:0)
我刚刚遇到了类似的问题。 然而,改变帮助只是为了让测试通过对我来说是不对的。
所以我尝试了解决它(不过在Rails 3.2.22中):
include ERB::Util
alias_method :html_escape, :h
我想这不是最干净的方式(别名,如果另一个助手还需要其他东西,那该怎么办)。所以我想会有一些更好的方法(包括一些模块或诸如此类的东西) - 但是这个方法有效。