0

JUnit 5 テストが動作する JavaEE プロジェクトでは、ActiveJDBC を試してみることにしました。残念ながら、この決定の前にJUnit 5ですべてのテストを実装したため、ActiveJDBCで使用するためにテストを更新する必要があり、クラスを拡張するときにdatabase.propertiesファイルからtest-db接続を取得しないのはなぜだろうかと思っていましたバージョン 4 ではなく JUnit バージョン 5 を使用している場合は、「DBSpec」を使用して DBException をスローします。

org.javalite.activejdbc.DBException: DB からメタデータを取得できませんでした。接続: 'default' は使用できません

JUnit 5 - テスト

import org.javalite.activejdbc.test.DBSpec;
import org.junit.jupiter.api.Test;
import org.junit.platform.runner.JUnitPlatform;
import org.junit.runner.RunWith;

@RunWith(JUnitPlatform.class)
public class MyModelTest extends DBSpec {
  //Test will fail with DBException
  @Test
  public void one() {
    MyModel model = new MyModel();
    a(model).shouldBe("valid");
  }
}

JUnit 5 - 依存関係

<dependency>
  <groupId>org.junit.platform</groupId>
  <artifactId>junit-platform-runner</artifactId>
  <version>1.3.0</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.junit.platform</groupId>
  <artifactId>junit-platform-launcher</artifactId>
  <version>1.3.0</version>
  <scope>test</scope>
</dependency>
<dependency>
  <groupId>org.junit.jupiter</groupId>
  <artifactId>junit-jupiter-engine</artifactId>
  <version>5.3.0</version>
  <scope>test</scope>
</dependency>

JUnit 4に切り替えると、すべてが期待どおりに機能します

JUnit 4 - テスト

import org.javalite.activejdbc.test.DBSpec;
import org.junit.Test;

public class MyModelTest extends DBSpec {
  //Test will pass
  @Test
  public void one() {
    MyModel model= new MyModel();
    a(model).shouldBe("valid");
  }
}

JUnit 4 - 依存関係

<dependency>
  <groupId>junit</groupId>
  <artifactId>junit</artifactId>
  <version>4.12</version>
  <scope>test</scope>
</dependency>

JUnit4 用にテストを「書き直す」だけなら大したことではありませんが、近い将来 JUnit5 をサポートする計画はありますか?

4

1 に答える 1