パッケージ org.iplass.mtp.test
クラス MTPJUnitTestRule
java.lang.Object
org.iplass.mtp.test.MTPJUnitTestRule
- すべての実装されたインタフェース:
org.junit.rules.TestRule
public class MTPJUnitTestRule
extends java.lang.Object
implements org.junit.rules.TestRule
JUnitに単体テスト用のユーティリティ処理を組み込むためのTestRuleです。
MTPJUnitTestRuleを組み込むことにより、容易な方法により、iPLAssの設定ファイルの指定、テナント、テストユーザーの設定、トランザクション制御を行うことが可能です。 設定方法は以下のいずれかの方法、またその組み合わせで行うことが可能です。
- プロパティファイルによる指定
- テスト全体にわたり設定が適用されます
- クラスレベルアノテーションによる指定
- 当該クラスに限り設定が適用されます
- メソッドレベルアノテーションによる指定
- 当該メソッドに限り設定が適用されます
上記の指定方法は混在可能です。 指定の優先度は、
メソッドレベルアノテーション > クラスレベルアノテーション > プロパティファイル
となります。
プロパティファイルによる指定方法
プロパティファイルは、"/mtptest.properties"として、クラスパスからロードされます。 プロパティファイルをロードするパスを変更する場合は、システムプロパティ"mtp.test.config"にて指定可能です。 次の項目をプロパティファイルにて指定可能です。
項目名 | 説明 |
---|---|
configFileName | テスト実行時のiPLAssの設定ファイルのパスを指定します。 設定例: configFileName=/testsample/test-sample-service-config.xml |
rollbackTransaction | テスト実行時のトランザクションをロールバックするか否かを指定します。 設定例: rollbackTransaction=true |
tenantName | テスト実行時のテナント名を指定します。 設定例: tenantName=testDemo1 |
userId | テスト実行時のユーザーのaccountIdを指定します。 設定例: userId=testUser |
password | テスト実行時のユーザーのパスワードを指定します。 設定例: password=testUserPass |
クラスレベルアノテーションによる指定、及びメソッドレベルアノテーションによる指定方法
アノテーションにより、クラス単位、メソッド単位でテナント、ユーザーなどの指定が可能です。 指定可能なアノテーションは以下です。
以下にアノテーション記述されたテストクラスの例を示します。
//アノテーションで指定されていない設定はプロパティファイルの設定値が適用されます。 @TenantName("testDemo1") @AuthUser(userId="testuser", password="testtest") public class SampleJavaTest { @Rule public MTPJUnitTestRule rule = new MTPJUnitTestRule(); @Test public void testHogeHoge() throws IOException { //do test... : : } @Test @TenantName("testDemo2") @AuthUser(userId="test2", password="testtest") public void testHogeHoge() throws IOException { //do test as tenant:testDemo2 user:test2 ... : : } : : }
テストクラスは、Java、もしくはGroovyで記述可能です。 Groovyで記述された、Command、UtilityClassをテストする場合は、Groovyでテストクラスを記述した方が記述が簡易になります。 詳しくはそれぞれのテストクラスのサンプル実装を参照下さい。
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static java.lang.String
DEFAULT_TEST_CONFIG_FILE_NAME
static java.lang.String
PROP_CONFIG_FILE_NAME
static java.lang.String
PROP_PASSWORD
static java.lang.String
PROP_ROLLBACK_TRANSACTION
static java.lang.String
PROP_TENANT_NAME
static java.lang.String
PROP_USER_ID
static java.lang.String
TEST_CONFIG_FILE_NAME_SYSTEM_PROPERTY_NAME
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 MTPJUnitTestRule()
-
メソッドの概要
修飾子とタイプ メソッド 説明 org.junit.runners.model.Statement
apply(org.junit.runners.model.Statement base, org.junit.runner.Description description)
MTPJUnitTestRule
authUser(java.lang.String userId, java.lang.String password)
Ruleに直接authUserを設定します。MTPJUnitTestRule
configFileName(java.lang.String configFileName)
Ruleに直接configFileNameを設定します。MTPJUnitTestRule
rollbackTransaction(boolean rollbackTransaction)
Ruleに直接rollbackTransactionを設定します。MTPJUnitTestRule
tenant(java.lang.String tenantName)
Ruleに直接tenantを設定します。
-
フィールド詳細
-
TEST_CONFIG_FILE_NAME_SYSTEM_PROPERTY_NAME
public static final java.lang.String TEST_CONFIG_FILE_NAME_SYSTEM_PROPERTY_NAME- 関連項目:
- 定数フィールド値
-
DEFAULT_TEST_CONFIG_FILE_NAME
public static final java.lang.String DEFAULT_TEST_CONFIG_FILE_NAME- 関連項目:
- 定数フィールド値
-
PROP_CONFIG_FILE_NAME
public static final java.lang.String PROP_CONFIG_FILE_NAME- 関連項目:
- 定数フィールド値
-
PROP_ROLLBACK_TRANSACTION
public static final java.lang.String PROP_ROLLBACK_TRANSACTION- 関連項目:
- 定数フィールド値
-
PROP_USER_ID
public static final java.lang.String PROP_USER_ID- 関連項目:
- 定数フィールド値
-
PROP_PASSWORD
public static final java.lang.String PROP_PASSWORD- 関連項目:
- 定数フィールド値
-
PROP_TENANT_NAME
public static final java.lang.String PROP_TENANT_NAME- 関連項目:
- 定数フィールド値
-
-
コンストラクタの詳細
-
MTPJUnitTestRule
public MTPJUnitTestRule()
-
-
メソッドの詳細
-
configFileName
Ruleに直接configFileNameを設定します。- パラメータ:
configFileName
-- 戻り値:
-
rollbackTransaction
Ruleに直接rollbackTransactionを設定します。- パラメータ:
rollbackTransaction
-- 戻り値:
-
tenant
Ruleに直接tenantを設定します。- パラメータ:
tenantName
-- 戻り値:
-
authUser
Ruleに直接authUserを設定します。- パラメータ:
userId
-password
-- 戻り値:
-
apply
public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description)- 定義:
apply
インタフェース内org.junit.rules.TestRule
-