/
例外発生コード追加
例外発生コード追加
ここでは、getItemDB(Connection, String) メソッドの stmt.executeQuery(sql); 実行時に java.sql.SQLException を発生させるテストコードを作成します。
testGetItemDB() メソッドに以下の 2 行を追加します。
doThrow(new SQLException("invalid SQL statement")) .when(createStatementResult).executeQuery(anyString());
追加する位置は getItemDB(Connection, String) の呼出し前にします。
.CartTest.java クラスの import 文に以下の 3 行を追加します。
import static org.mockito.Mockito.doThrow; import static org.mockito.Matchers.anyString; import java.sql.SQLException;
以下に編集後のテストメソッドを以下に記載します。
~省略~ import static org.mockito.Mockito.doThrow; import static org.mockito.Matchers.anyString; import java.sql.SQLException; ~省略~ import static org.mockito.Mockito.doThrow; import static org.mockito.Matchers.anyString; import java.sql.SQLException; ~省略~ @Test public void testGetItemDB3() throws Exception { // Given Cart underTest = new Cart(); Connection con = mock(Connection.class); Statement createStatementResult = mock(Statement.class); when(con.createStatement()).thenReturn(createStatementResult); doThrow(new SQLException("invalid SQL statement")) .when(createStatementResult).executeQuery(anyString()); String itemId = "001"; Item result = underTest.getItemDB(con, itemId); // Then // assertNotNull(result); } ~省略~ }
ソースコードを保存しプロジェクトのビルドが正常に行われることを確認後、単体テストアシスタントビューで をクリックしてテストを実行します。
カバレッジビューとソースコードペインに表示されるラインで例外処理が実行されていることを確認します。
Related content
コメントを削除
コメントを削除
Read with this
例外発生コード追加
例外発生コード追加
More like this
複数テストの同時実行
複数テストの同時実行
Read with this
例外発生コード追加
例外発生コード追加
More like this
変更されたファイルに関連するテストを実行する
変更されたファイルに関連するテストを実行する
Read with this
例外発生コード追加
例外発生コード追加
More like this
Copyright © 2022 TechMatrix Corporation. All rights reserved