【发布时间】:2014-02-19 22:07:27
【问题描述】:
我正在使用decent_exposure 来展示一些 instance_variables :
expose(:my_custom_variable) { current_user.my_variable }
所以现在这个变量可以在我的控制器中作为my_custom_variable 访问。
但我想确保它在我的测试中。
assert_not_nil my_custom_variable
这不起作用。如果我在测试中放入调试器,我将无法访问此变量。我已经尝试了以下所有方法..
@controller.instance_variable_get("@my_custom_variable")
@controller.instance_variable_get("my_custom_variable")
@controller.instance_variable_get(:my_custom_variable)
@controller.assigns(:@my_custom_variable)
assigns(:my_custom_variable)
@controller.get_instance(:my_custom_variable)
@controller.get_instance("my_custom_variable")
@controller.get_instance("@my_custom_variable")
这些都不起作用..有什么想法吗?
注意:我没有使用 rspec。这是内置在 Rails 功能测试中的。
【问题讨论】:
-
也许问题是
decent_exposure只在视图渲染时分配局部变量?尽管查看了文档,但情况似乎并非如此 -
它使用辅助方法,而不是实例或局部变量。 github.com/voxdolo/decent_exposure/blob/master/lib/…
标签: ruby-on-rails functional-testing