2

我的一个 rspec 测试失败,因为我无法在渲染视图的装饰器上使用辅助方法,而视图在正常运行服务器时完美运行,这是错误

1) dashboard/index.html.haml render all translations
   Failure/Error: render
   ActionView::Template::Error:
   undefined method `dashboard?' for #<#<Class:0x0000000a9d1020>:0x0000000c2286f0>

以下方法是在从渲染视图调用的装饰器方法中调用的简单布尔检查:

items << h.link_to(...) if h.dashboard?

和辅助方法:

def dashboard?
  controller_name == "dashboard"
end

我可以将辅助模块导入装饰器,但是控制器名称的错误更改未定义,所以我想我的问题分为两部分:

一,当通过 Rspec 从渲染视图调用装饰器时,如何让辅助方法工作,二,如何设置 controller_name 以在 Rspec 测试中工作。

4

1 回答 1

0

您的测试正在寻找一个dashboard?未在您的代码中定义的方法。

您可以更新测试以查找方法moderators_dashboard?

或者

更改def moderators_dashboard?def dashboard?

于 2015-08-28T18:31:53.277 回答