Class MTPJUnitTestRule

java.lang.Object
org.iplass.mtp.test.MTPJUnitTestRule
All Implemented Interfaces:
org.junit.rules.TestRule

@Deprecated public class MTPJUnitTestRule extends Object implements org.junit.rules.TestRule
Deprecated.
本クラスは JUnit4 向けの機能となります。JUnit5 向けの MTPJUnitTestExtension を利用してください。

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でテストクラスを記述した方が記述が簡易になります。 詳しくはそれぞれのテストクラスのサンプル実装を参照下さい。

  • Field Details

  • Constructor Details

    • MTPJUnitTestRule

      public MTPJUnitTestRule()
      Deprecated.
  • Method Details

    • configFileName

      public MTPJUnitTestRule configFileName(String configFileName)
      Deprecated.
      Ruleに直接configFileNameを設定します。
      Parameters:
      configFileName -
      Returns:
    • rollbackTransaction

      public MTPJUnitTestRule rollbackTransaction(boolean rollbackTransaction)
      Deprecated.
      Ruleに直接rollbackTransactionを設定します。
      Parameters:
      rollbackTransaction -
      Returns:
    • tenant

      public MTPJUnitTestRule tenant(String tenantName)
      Deprecated.
      Ruleに直接tenantを設定します。
      Parameters:
      tenantName -
      Returns:
    • authUser

      public MTPJUnitTestRule authUser(String userId, String password)
      Deprecated.
      Ruleに直接authUserを設定します。
      Parameters:
      userId -
      password -
      Returns:
    • apply

      public org.junit.runners.model.Statement apply(org.junit.runners.model.Statement base, org.junit.runner.Description description)
      Deprecated.
      Specified by:
      apply in interface org.junit.rules.TestRule