作为rails
应用程序的一部分,我在ApplicationHelper
下创建了一个帮助程序,用于检查devise
生成的错误并将其添加到flash[:error]
哈希。
def devise_flash
if controller.devise_controller? && resource && resource.errors.any?
# modify flash
end
end
在视图层中调用此助手(例如application.html.erb
)。
但是,我无法对此方法进行单元测试,因为它依赖于控制器实例作为设计控制器。我可以通过使用assert_select检查视图来测试它,它使用帮助器来显示flash消息,但这感觉很奇怪。
这是设计糟糕的症状吗?别的什么?我是否应该寻找方法来控制控制器以对该功能进行单元测试?