私はscalaの「try/catch」テストコードを「intercept」を使用するように変換しています
'intercept'を使用すべきでないシナリオはありますか?「try/catch」の代わりに「intercept」を使用する唯一の利点は簡潔さですか?
intercept主な違いは、プログラムエラーが原因ではなく、発生した例外が予期されるというセマンティクスがあることだと思います。
したがって、私は通常intercept、ユーザーが誤ったシナリオまたは同様のシナリオを入力したときに例外をテストするためのテストケースが正しくスローされる場合にのみ使用します。
実用的な利点の1つは、interceptも返すことです。したがって、次のExceptionように確認できます。
intercept[IndexOutOfBoundsException](s charAt -1).getMessage should be === "..."