ActiveJDBC DBSpec - поддержка JUnit5 - PullRequest
       31

ActiveJDBC DBSpec - поддержка JUnit5

0 голосов
/ 05 сентября 2018

Для проекта JavaEE с работающими тестами JUnit 5 я решил попробовать ActiveJDBC. К сожалению, я реализовал все тесты с помощью JUnit 5 до этого решения, поэтому мне пришлось обновить свои тесты для использования с ActiveJDBC, и мне было интересно, почему они не получат соединение test-db из файла database.properties при расширении класса с помощью 'DBSpec' и просто выбросить DBException при использовании JUnit версии 5 вместо версии 4:

org.javalite.activejdbc.DBException: не удалось получить метаданные из БД, соединение: «по умолчанию» недоступно

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 в ближайшем будущем?

1 Ответ

0 голосов
/ 05 сентября 2018

Вы правы, JUnit5 еще не поддерживается. Мы подали новый выпуск: https://github.com/javalite/activejdbc/issues/784, чтобы добавить поддержку для него. Проследите, чтобы увидеть, когда будет доступен следующий снимок.

...