Я понимаю, что JUnit 5 внес существенные изменения под капот, но разве это не должно быть настроено автоматически?
build.gradle:
plugins {
id 'org.springframework.boot' version '2.2.2.RELEASE'
id 'io.spring.dependency-management' version '1.0.8.RELEASE'
id 'java'
}
group = 'com.example'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compile 'org.imgscalr:imgscalr-lib:4.2'
runtimeOnly 'com.h2database:h2'
testImplementation('org.springframework.boot:spring-boot-starter-test') {
exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
}
}
test {
useJUnitPlatform()
}
Репозиторий, расположенный в src / main / java / com / example / repositories:
import org.adventure.entities.Classified;
import org.springframework.data.repository.CrudRepository;
import org.springframework.stereotype.Repository;
@Repository
public interface ClassifiedRepository extends CrudRepository<Classified, Long> {}
Test, расположенный в src / test / java / com / example / repositories:
import org.adventure.entities.Classified;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest;
import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager;
import java.util.Optional;
import static org.junit.jupiter.api.Assertions.assertTrue;
@DataJpaTest
public class ClassifiedRepositoryTest {
private TestEntityManager entityManager;
private ClassifiedRepository classifiedRepository;
public ClassifiedRepositoryTest(TestEntityManager entityManager, ClassifiedRepository classifiedRepository) {
this.entityManager = entityManager;
this.classifiedRepository = classifiedRepository;
}
@Test
public void classifiedCanBeFoundById() {
// GIVEN
Classified classified = new Classified("Cheap bike",
"Worn bike, used on a hobby level. Needs oiling", 300, "EUR");
entityManager.persist(classified);
entityManager.flush();
// WHEN
Optional<Classified> found = classifiedRepository.findById(classified.getId());
// THEN
assertTrue(found.isPresent());
}
}
Результат: слишком долго для пост здесь, пожалуйста, смотрите здесь