我正在尝试习惯于使用简单的驱动程序片段来测试我的代码,并想测试是否在不退出程序的情况下引发了参数错误。这是我正在使用的代码
class Die
def initialize(sides)
@sides=sides
unless @sides>0
raise ArgumentError.new("Your number sucks, yo")
end
end
#returns the number of sides of a die
def sides
@sides
end
#generates a random die roll based on the number of sides
def roll
rand(@sides)+1
end
end
这就是我试图打电话进行测试的内容。
p bad=Die.new(0)=="Your number sucks, yo"
我希望它返回的是“真实”。它在终端返回的是:
w3p1_refact.rb:33:in `initialize': Your number sucks, yo (ArgumentError)
from w3p1_refact.rb:69:in `new'
from w3p1_refact.rb:69:in `<main>'
我可以重写它以返回我正在寻找的东西吗?