メタデータの末尾にスキップ
メタデータの先頭に移動

このページの古いバージョンを表示しています。現在のバージョンを表示します。

現在のバージョンとの相違点 View Version History

バージョン 1 次のバージョン »

ここでは、getItemDB(Connection, String) メソッドの stmt.executeQuery(sql); 実行時に java.sql.SQLException を発生させるテストコードを作成します。

1.testGetItemDB() メソッドに以下の 2 行を追加します。

doThrow(new SQLException("invalid SQL statement"))

.when(createStatementResult).executeQuery(anyString());

追加する位置は getItemDB(Connection, String) の呼出し前にします。

2.CartTest.java クラスの import 文に以下の 3 行を追加します。

import static org.mockito.Mockito.doThrow;

import static org.mockito.Matchers.anyString;

import java.sql.SQLException;

3.以下に編集後のテストメソッドを以下に記載します。

~省略~

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);

 }

~省略~

}

4.ソースコードを保存しプロジェクトのビルドが正常に行われることを確認後、単体テストアシスタントビューで をクリックしてテストを実行します。

5.カバレッジビューとソースコードペインに表示されるラインで例外処理が実行されていることを確認します。

  • ラベルがありません