微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby – 在rspec测试中填充实例变量

我有一个类具有以下初始化方法.
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)来操作变量.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐