58
我试图测试方法如下:红宝石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的状态,但我不想添加一个访问器只是为了测试。没有访问器,有没有办法这样做?谢谢。
但我需要在我的测试中预先设置它。在我测试它之前,它没有任何价值。 – 2012-02-20 16:56:36
@steve_gallagher,看看文档。 'instance_variable_get'旁边有'instance_variable_set'(添加了示例并链接到了文档到答案)。 – 2012-02-20 17:30:06
有趣。我不知道你可以直接进入并设置并获取任何实例变量。不过,我已经看到很多RSpec测试,并且我从来没有见过这些方法。看起来像处理我认为是非常典型的情况的非标准方式。但我并没有抱怨,谢谢你的回答。 – 2012-02-20 17:47:09