有没有办法用rspec检查内部方法变量?

时间:2011-06-01 21:59:55

标签: ruby-on-rails rspec

我正在使用Rspec进行测试。我正在创建一个战斗系统,我需要根据需要进行广泛测试。

到目前为止,使用rspec,我主要检查方法的结果是否应该返回某个值,创建某些记录等等。

但是我怎么能(如果可能的话)检查方法中的变量?想想这个例子:

def combat 
  weapon_damage = 30
  total_damage = weapon_damage + other_damage
  total_damage
end

我怎样才能检查weapon_damage是30?或者other_damage的值?如你所见,我正在寻找一种方法来测试我的方法的步骤。

1 个答案:

答案 0 :(得分:3)

你不能那样做。在你的情况下,我建议你将调用分成多个方法,这样你就可以逐个测试它们的结果。一般来说,如果你倾向于问自己你的方法实际上在做什么,那么你应该将代码分成多种方法是一个好兆头。