所以,我正在尝试进行一些单元测试,并且在运行测试时我的current_account_permissions
变量未定义。 (在服务器运行时工作正常)。
它类似于current_user
,因为除了测试之外,它在任何地方都可用。
有没有办法可以将变量添加到全局范围?
可能类似于ENV["current_account_permissions"] = whatever
,但不必使用ENV[]
表示法来检索变量?
答案 0 :(得分:1)
我在这里假设,但没有任何代码,很难说,current_account_permissions
混入了ApplicationController
。
我还假设current_account_permissions
是一种方法,应该做类似
def current_account_permissions
@current_account_permissions ||= current_user.get_current_account_permissions
end
因此,如果是这种情况,那么所有的控制器测试都可以正常运行。但是,在视图测试中,您必须存根current_account_permissions
,因为在测试时没有控制器上下文。
希望这有帮助。