我有一个助手page_title_default在ApplicationHelper:
def page_title_default(options = {})
t '.title', options
end
Run Code Online (Sandbox Code Playgroud)
现在我想像这样测试它:
describe '#page_title' do
subject { page_title }
it { ... }
end
Run Code Online (Sandbox Code Playgroud)
结尾
这会导致以下错误:
Cannot use t(".title") shortcut because path is not available
Run Code Online (Sandbox Code Playgroud)
根据这篇文章,应该可以@virtual_path像这样存根变量:
helper.instance_variable_set(:@virtual_path, "admin.path.form")
Run Code Online (Sandbox Code Playgroud)
但这似乎没有帮助:虽然我能够存根它然后helper.t '.something'在测试中直接调用类似的东西,但它不适用于page_title_default方法中使用的翻译助手(仍然@virtual_path设置为nil)。所以它似乎不是翻译助手的同一个实例。但是我怎样才能找到page_title_default方法呢?