基本的に、私は一連の Rspec 命令に答えようとしています。それらの指示の1つはこれです:
it "fails informatively when there's not enough values stacked away" do
expect {
calculator.plus
}.to raise_error("calculator is empty")
end
だから私は raise_error とそれに答える方法について学びました。何らかのエラー/例外を作成するのは私でした。
def plus
@array_nums.length >= 2 ? @array_nums << @array_nums.pop + @array_nums.pop : raise {"calculator is empty"}
@value = @array_nums[-1]
明確にするために、一番下に終わりがありますが、テキスト エディターはそれを処理していませんでした。だから私はエラーを発生させています.ArgumentErrorなどを発生させようとしましたが、rspecからこの応答を受け取り続けています:
Failure/Error:
expect {
calculator.plus
}.to raise_error("calculator is empty")
expected Exception with "calculator is empty", got RuntimeError with backtrace:
# ./lib/12_rpn_calculator.rb:16:in `plus'
# ./spec/12_rpn_calculator_spec.rb:119:in `block (3 levels) in <top (required)>'
# ./spec/12_rpn_calculator_spec.rb:118:in `block (2 levels) in <top (required)>'
# ./spec/12_rpn_calculator_spec.rb:118:in `block (2 levels) in <top (required)>'
私が試みた他の発生したエラーは機能しません。これを行う正しい方向を見つけるのに苦労しています。多分私は間違った場所を探していますか?
この質問をもう一度して申し訳ありませんが、私はすべてを試しましたが、エラーは発生したくありません。他のスレッドのコメントを確認したい場合はこちらのURLです。