Ruby Rspec:测试实例变量而不向源添加访问器
我正在尝试测试以下方法:
def unprocess_move(board, move)
if move[0].instance_of?(Array)
multi_move = @multi_move.pop(2).reverse
multi_move.each do |single_move|
unapply_move(board, single_move)
end
else
board = unapply_move(board, move)
end
board
end
我想在其中设置 @multi_move 的状态,但我不想添加仅用于测试的访问器。有没有办法在没有访问器的情况下做到这一点?谢谢。
I'm trying to test the following method:
def unprocess_move(board, move)
if move[0].instance_of?(Array)
multi_move = @multi_move.pop(2).reverse
multi_move.each do |single_move|
unapply_move(board, single_move)
end
else
board = unapply_move(board, move)
end
board
end
where I want to set the state for @multi_move, but I don't want to add an accessor just for testing. Is there a way to do so without the accessor? Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以使用
Object#instance_variable_get
方法来获取对象的任何实例变量的值,如下所示:和
Object#instance_variable_set
可以用于设置实例变量值:You can use
Object#instance_variable_get
method to get value of any instance variable of the object like that:And
Object#instance_variable_set
can be used to set instance variable values: