我是 BDD 新手,我发现很多情况下我都将实例变量添加到 attr_accessor,以便我的测试有一种简单的方法来验证它们是否处于应有的状态。但这感觉有点肮脏,因为没有其他类需要这些信息,所以我只是将其公开用于测试。这是标准还是糟糕设计的标志?
例如,我有一个集合类,它存储一个对象,然后将其提交到批处理数组中。导入结束时,使用批处理数组将批处理插入到数据库中。但无需随时检查批处理的状态。但在测试中,我想确保批处理处于我认为的状态,因此打开该变量进行检查。事实上,没有在代码中进行检查才是真正的问题吗?
最佳答案
使用 instance_variable_get
适合您吗?
>> class Foo
.. def initialize
.. @foo = 'bar'
.. end
.. end #=> nil
>> Foo.new.instance_variable_get(:@foo) #=> "bar"
关于ruby - 我应该打开类的实例变量只是为了测试验证吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5746568/