Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有一个具有以下初始化方法的类。
def initialize(my_var) @my_var = my_var end
我想测试然后做某事的方法@my_var
@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)操作变量。
my_object.instance_variable_get("@my_var")
my_object.instance_variable_set("@my_var", value)