gpt4 book ai didi

ruby-on-rails - RoR 和 RSpec : How to access controller instance variables without defining accessors?

转载 作者:行者123 更新时间:2023-12-03 12:05:48 25 4
gpt4 key购买 nike

我正在为我的 Controller 编写一个 rspec 测试,但我找不到以下问题的解决方案。
对于其中一个边缘案例测试,我需要验证一个实例变量的值。
如何在无需定义访问器的情况下访问它?
默认情况下通常:

controller.variable.should == '3.15' 

不起作用。

定义

attr_reader :variable



只是为了让测试通过是愚蠢的
我确信有一种更智能的方式。

最佳答案

controller.instance_variable_get(:var)

如果您发现自己正在这样做,您可能需要重新考虑您的信息隐藏方法,以便您测试基本行为而不是附带的实现细节。您的测试应确保“事物”按应有的方式发挥作用,而不会过于紧密地绑定(bind)到特定的实现。

编辑:不是 assigns(:var)用 Controller 做同样事情的rails测试魔法?

关于ruby-on-rails - RoR 和 RSpec : How to access controller instance variables without defining accessors?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1137746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com