私は初めてMockitoを使用していますが、when(dao.create(order)).thenThrow(new SQLException());
とwhen(dao.create(order)).thenThrow(SQLException.class);
の違いが何であるか疑問に思っていました。 どちらもうまく動作しているようで、Mockito APIには何も見つかりません。Mockito:そのときのThrow(例外クラス)とThrow(新しい例外())
私が考えることができる唯一の違いは、new SQLException()
を使用すると、コンストラクタに引数を入力できることです。これでしょうか?
SQLException.classはなぜ存在しますか?引数を持たない新しいSQLException()と同じことです。それとも特別な理由がありますか? –
これはコールのショートカットです。したがって、Throw(SQLException.class)、次にTrhow(new SQLException())は同じ意味を持ちます。最初のケースでは、指定されたexpcetionクラスのデフォルトのコンストラクタ(パラメータなしのコンストラクタ)が常に必要です。 –
@MartinStrejc OKだから、それは単なるショートカットだ。とった。 –