Spring4.12和junit-vintage-engine (来自JUnit 5)可以与JUnit Framework4.3.x一起使用,对吗?有没有可能也使用junit-jupiter-api和junit-jupiter-engine (都来自JUnit 5)?
发布于 2017-04-10 18:38:11
我假设你指的是Spring集成测试,类似于:
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;
@RunWith(SpringRunner.class)
@SpringBootTest(classes = Application.class)
public class ExampleIT {
@Test
public void test() {
}
}这可以与老式引擎一起运行。
您也可以使用prototype for Spring 5将Spring5与Spring4.3一起使用。Jitpack上提供了Jars,因此为了将此测试转换为maven 5,只需将Jupiter API和原型添加到您的依赖项中,例如,对于JUnit
<dependency>
<groupId>com.github.sbrannen</groupId>
<artifactId>spring-test-junit5</artifactId>
<version>1.0.0.M3</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<version>5.0.0-M3</version>
<scope>test</scope>
</dependency>
...
<repositories>
<repository>
<id>jitpack.io</id>
<url>https://jitpack.io</url>
</repository>
</repositories>使用SpringExtension和JUnit jupiter API代替SpringRunner:
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit.jupiter.SpringExtension;
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = Application.class)
public class ExampleIT {
@Test
public void test() {
}
}希望这能有所帮助
https://stackoverflow.com/questions/41747849
复制相似问题