Package nablarch.test.core.db
Class DbAccessTestSupport
java.lang.Object
nablarch.test.event.TestEventDispatcher
nablarch.test.core.db.DbAccessTestSupport
データベースアクセス自動テスト用基底クラス。
データベースアクセスクラスの自動テストを行う場合には、本クラスを継承しテストクラスを作成する。
本クラス以外の基底クラスを継承しなければならない場合は、
本クラスのインスタンスを生成し処理を委譲することで代替可能である。
データベースアクセスクラスの自動テストを行う場合には、本クラスを継承しテストクラスを作成する。
本クラス以外の基底クラスを継承しなければならない場合は、
本クラスのインスタンスを生成し処理を委譲することで代替可能である。
- Author:
- Tsuyoshi Kawasaki
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
テストクラス用トランザクション名static final String
テスティングフレームワーク用トランザクション名static final String
データベーストランザクション名を取得する為のキーFields inherited from class nablarch.test.event.TestEventDispatcher
testName
-
Constructor Summary
ModifierConstructorDescriptionprotected
DbAccessTestSupport
(Class<?> testClass) コンストラクタDbAccessTestSupport
(TestSupport testSupport) コンストラクタ -
Method Summary
Modifier and TypeMethodDescriptionvoid
assertSqlResultSetEquals
(String message, String sheetName, String id, nablarch.core.db.statement.SqlResultSet actual) SqlResultSetの値とExcelファイルに記載したデータの比較を行う。
検索系テスト実行結果の検索結果確認に使用する。void
assertSqlRowEquals
(String message, String sheetName, String id, nablarch.core.db.statement.SqlRow actual) SqlRowの値とExcelファイルに記載したデータの比較を行う。
検索系テスト実行結果の検索結果確認に使用する。void
assertTableEquals
(String sheetName) データベースのテーブルの値とExcelファイルに記載した値の比較を行う。
更新系テスト実行後の更新結果確認用に使用する。 テストクラスと同一のパッケージに存在するテストデータファイルから、 期待値を読み取り実際のテーブルと比較を行う。void
assertTableEquals
(String sheetName, String groupId) テーブルの比較を行う。
テストクラスと同一のパッケージに存在するテストデータファイルから、 期待値を読み取り実際のテーブルと比較を行う。void
assertTableEquals
(String message, String sheetName, boolean failIfNoDataFound) テーブルの比較を行う。
テストクラスと同一のパッケージに存在するテストデータファイルから、 期待値を読み取り実際のテーブルと比較を行う。void
assertTableEquals
(String message, String sheetName, String groupId) テーブルの比較を行う。
テストクラスと同一のパッケージに存在するテストデータファイルから、 期待値を読み取り実際のテーブルと比較を行う。void
assertTableEquals
(String message, String sheetName, String groupId, boolean failIfNoDataFound) テーブルの比較を行う。
テストクラスと同一のパッケージに存在するテストデータファイルから、 期待値を読み取り実際のテーブルと比較を行う。void
データベースアクセスクラスのテスト用にトランザクションを開始する。
開始対象のトランザクション名は、設定ファイルより取得する。
複数のトランザクションを開始する場合には、カンマ(",")区切りで複数のトランザクション名を設定する。
設定ファイル例:void
コミットを実行する。void
トランザクションを終了する。getListMap
(String sheetName, String id) List-Map形式でデータを取得する。getListParamMap
(String sheetName, String id) List-Map形式でデータを取得する。
HTTPパラメータと同じ形式で取得できる(Mapの値がString[]となる)。getParamMap
(String sheetName, String id) List-Map形式でデータを取得する。
HTTPパラメータと同じ形式で取得できる(Mapの値がString[]となる)。テストサポートクラスを返却する。void
トランザクションをロールバックする。void
setThreadContextValues
(String sheetName, String id) ThreadContextに値を設定する。void
データベースにデータを投入する。void
データベースにデータを投入する。Methods inherited from class nablarch.test.event.TestEventDispatcher
dispatchEventOfAfterTestClass, dispatchEventOfAfterTestMethod, dispatchEventOfBeforeTestClassAndBeforeSuit, dispatchEventOfBeforeTestMethod, getMethodName
-
Field Details
-
TRANSACTIONS_KEY
データベーストランザクション名を取得する為のキー- See Also:
-
DB_TRANSACTION_FOR_TEST
テストクラス用トランザクション名- See Also:
-
DB_TRANSACTION_FOR_TEST_FW
テスティングフレームワーク用トランザクション名- See Also:
-
-
Constructor Details
-
DbAccessTestSupport
protected DbAccessTestSupport() -
DbAccessTestSupport
コンストラクタ- Parameters:
testClass
- テストクラス(テスト対象クラスではない)
-
DbAccessTestSupport
コンストラクタ- Parameters:
testSupport
- テストサポート
-
-
Method Details
-
beginTransactions
public void beginTransactions()データベースアクセスクラスのテスト用にトランザクションを開始する。
開始対象のトランザクション名は、設定ファイルより取得する。
複数のトランザクションを開始する場合には、カンマ(",")区切りで複数のトランザクション名を設定する。
設定ファイル例:
dbAccessTest.dbTransactionName = transaction-name1,transaction-name2
デフォルトのトランザクション(nablarch.core.db.connection.DbConnectionContext#getConnection()で取得されるトランザクション)は、
設定ファイルの記述の有無に関わらず開始される。
デフォルトのトランザクションのみを使用する場合は、設定ファイルへの記述は不要である。 -
commitTransactions
public void commitTransactions()コミットを実行する。 -
rollbackTransactions
public void rollbackTransactions()トランザクションをロールバックする。 -
endTransactions
public void endTransactions()トランザクションを終了する。 -
setUpDb
データベースにデータを投入する。- Parameters:
sheetName
- シート名
-
setUpDb
データベースにデータを投入する。- Parameters:
sheetName
- シート名groupId
- グループID
-
setThreadContextValues
ThreadContextに値を設定する。- Parameters:
sheetName
- 取得元シート名id
- 取得元ID
-
assertSqlResultSetEquals
public void assertSqlResultSetEquals(String message, String sheetName, String id, nablarch.core.db.statement.SqlResultSet actual) SqlResultSetの値とExcelファイルに記載したデータの比較を行う。
検索系テスト実行結果の検索結果確認に使用する。- Parameters:
message
- 比較失敗時のメッセージsheetName
- 期待値を格納したシート名id
- シート内のデータを特定するためのIDactual
- 実際の値
-
assertSqlRowEquals
public void assertSqlRowEquals(String message, String sheetName, String id, nablarch.core.db.statement.SqlRow actual) SqlRowの値とExcelファイルに記載したデータの比較を行う。
検索系テスト実行結果の検索結果確認に使用する。- Parameters:
message
- 比較失敗時のメッセージsheetName
- 期待値を格納したシート名id
- シート内のデータを特定するためのIDactual
- 実際の値
-
getListMap
List-Map形式でデータを取得する。- Parameters:
sheetName
- シート名id
- ID- Returns:
- List-Map形式のデータ
-
getListParamMap
List-Map形式でデータを取得する。
HTTPパラメータと同じ形式で取得できる(Mapの値がString[]となる)。- Parameters:
sheetName
- シート名id
- ID- Returns:
- List-Map形式のデータ
- See Also:
-
HttpRequest.getParamMap()
-
getParamMap
List-Map形式でデータを取得する。
HTTPパラメータと同じ形式で取得できる(Mapの値がString[]となる)。- Parameters:
sheetName
- シート名id
- ID- Returns:
- Map形式のデータ
- See Also:
-
HttpRequest.getParamMap()
-
assertTableEquals
データベースのテーブルの値とExcelファイルに記載した値の比較を行う。
更新系テスト実行後の更新結果確認用に使用する。 テストクラスと同一のパッケージに存在するテストデータファイルから、 期待値を読み取り実際のテーブルと比較を行う。- Parameters:
sheetName
- 期待値を格納したシート名
-
assertTableEquals
public void assertTableEquals(String message, String sheetName, boolean failIfNoDataFound) throws IllegalArgumentException テーブルの比較を行う。
テストクラスと同一のパッケージに存在するテストデータファイルから、 期待値を読み取り実際のテーブルと比較を行う。- Parameters:
message
- 比較失敗時のメッセージsheetName
- 期待値を格納したシート名failIfNoDataFound
- データが存在しない場合に例外とするかどうか- Throws:
IllegalArgumentException
- 期待値のデータが存在せず、failIfNoDataFoundが真の場合
-
assertTableEquals
テーブルの比較を行う。
テストクラスと同一のパッケージに存在するテストデータファイルから、 期待値を読み取り実際のテーブルと比較を行う。- Parameters:
sheetName
- 期待値を格納したシート名groupId
- グループID(オプション)- Throws:
IllegalArgumentException
- 期待値のデータが存在しない場合
-
assertTableEquals
public void assertTableEquals(String message, String sheetName, String groupId) throws IllegalArgumentException テーブルの比較を行う。
テストクラスと同一のパッケージに存在するテストデータファイルから、 期待値を読み取り実際のテーブルと比較を行う。- Parameters:
message
- 比較失敗時のメッセージgroupId
- グループID(オプション)sheetName
- 期待値を格納したシート名- Throws:
IllegalArgumentException
- 期待値のデータが存在しない場合
-
assertTableEquals
public void assertTableEquals(String message, String sheetName, String groupId, boolean failIfNoDataFound) throws IllegalArgumentException テーブルの比較を行う。
テストクラスと同一のパッケージに存在するテストデータファイルから、 期待値を読み取り実際のテーブルと比較を行う。- Parameters:
message
- 比較失敗時のメッセージgroupId
- グループID(オプション)sheetName
- 期待値を格納したシート名failIfNoDataFound
- データが存在しない場合に例外とするかどうか- Throws:
IllegalArgumentException
- 期待値のデータが存在せず、failIfNoDataFoundが真の場合
-
getTestSupport
テストサポートクラスを返却する。- Returns:
- テストクラス
-