【发布时间】:2014-10-10 03:25:37
【问题描述】:
我似乎无法找到看似非常简单的谷歌搜索。我的程序中有一个 rspec
it "fails informatively when there's not enough values stacked away" do
expect {
calculator.plus
}.to raise_error("calculator is empty")
我正在编写的 RPN 计算器程序中的 plus 方法的代码是:
def plus
if @calculator.length == 0
raise ArgumentError.new("calculator is empty")
end
sum = @calculator[-1] + @calculator[-2]
2.times {@calculator.pop}
@calculator.push(sum)
end
但这并不能解决任何问题。我对编程非常陌生,尤其是在异常方面,因此非常感谢任何帮助。
我确信它真的很简单,但我已经坚持了一个多小时到处寻找。
这是我在运行 bundle rspec 时收到的错误消息:
F 失败/错误:期望 { “计算器为空”的预期异常,得到 # 回溯: # ./lib/12_rpn_calculator.rb:22:in `减号' # ./spec/12_rpn_calculator_spec.rb:124:in `block (3 levels) in ' # ./spec/12_rpn_calculator_spec.rb:123:in `block (2 levels) in '【问题讨论】:
-
这里不清楚需要修复什么...你在看什么?
-
我把失败放在原来的帖子里,但它发布的都很奇怪,我不想弄乱它是如何从命令提示符粘贴的。
-
我想通了...叹息这么简单.. 摆脱 if 并在 @calculator.length 时提出“计算器为空”