使用mocha存根实例变量

时间:2012-04-02 05:12:54

标签: ruby unit-testing stub testunit

假设我有一个直接引用实例变量的方法:

class MyClass
  def method1
    puts @instance_var
  end
end

如何在@instance_var测试中使用mocha来隐藏Test::Unit的值?

2 个答案:

答案 0 :(得分:0)

虽然直接从单元测试访问对象的实例变量不被认为是最佳实践,但如果您有充分的理由这样做,您可以使用 instance_variable_set

my_instance = MyClass.new
my_instance.instance_variable_set(:@instance_var, 'My updated value')

答案 1 :(得分:-2)

你做不到。这就是为什么你不应该直接访问ivars的众多原因之一。