我有一个类具有以下初始化方法.
def initialize(my_var) @my_var = my_var end
我想测试然后对@my_var做一些事情的方法
def split @my_var.split(",") end
在测试它是否正确返回数组之前如何更改@my_var?
如果没有@my_var的访问器,这可能吗?
解决方法
这听起来不像是一种正确的做法. Rspec应该测试类和模型的接口行为 – 而不是内部实现(毫无疑问是实例变量).有办法做到这一点,但你确定你不想拥有该变量的访问者吗?
无论如何,你可以使用my_object.instance_variable_get(“@ my_var”)和my_object.instance_variable_set(“@ my_var”,value)来操作变量.