web-dev-qa-db-ja.com

JUnit5およびSpringFramework 4.3.x

JUnit 4.12とjunit-vintage-engine(JUnit 5から)をSpring Framework 4.3.xと一緒に使用できるというのは正しいですか? junit-jupiter-apiとjunit-jupiter-engine(両方ともJUnit 5から)も使用する可能性はありますか?

7

私はあなたが次のような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() {
    }
}

これは、ビンテージエンジンで実行できます。

Spring 5のプロトタイプ を使用して、Spring4.3でJUnit5を使用することもできます。 JarsはJitpackで利用できるため、このテストをJUnit 5に変換するには、JupiterAPIとプロトタイプを依存関係に追加するだけです。 Maven用

<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>

また、SpringRunnerの代わりにSpringExtensionとJUnit jupiterAPIを使用します。

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() {
    }
}

お役に立てれば

18
Ralf Stuckert