Rubyで書かれたメソッドをTest :: Unitを使ってユニットテストしているとします。このメソッドは、複数の理由でSystemExit
を発生させることができますが、それをスローする理由を一意に識別します。Exception
です。私は、例外が発生していることを主張するためにこれを行うことができます知っている:Test :: Unitを介して例外のメッセージがRubyの既知の文字列と一致するかどうかを確認してください
assert_raises(SystemExit) { boo() }
しかし、これはboo()
がSystemExit
スローすべてのケースに一致します。 boo()
がabort("reason 1")
からabort("reason 2")
になったケースをどのように区別できますか?
感謝のように働いた - ありがとう!これを自動的に行ったTest :: Unitに何かが組み込まれているかどうかは分かりませんでしたが、これもうまくいきます! –
'#assert_raises_with_message'を定義することもできます:) – d11wtq