【发布时间】:2019-05-08 13:04:16
【问题描述】:
我从 Pact 测试开始,我已经完成了消费者合同测试并生成了 JSON pact 文件。
我正在关注的示例,有一个运行 Pact 文件的测试,这是我正在关注的示例代码,它包含提供者(bs)、消费者(客户端)和验证器(运行 Pact 文件)@987654321 @
import au.com.dius.pact.provider.junit.PactRunner;
import au.com.dius.pact.provider.junit.Provider;
import au.com.dius.pact.provider.junit.State;
import au.com.dius.pact.provider.junit.loader.PactFolder;
import au.com.dius.pact.provider.junit.target.HttpTarget;
import au.com.dius.pact.provider.junit.target.Target;
import au.com.dius.pact.provider.junit.target.TestTarget;
import org.junit.runner.RunWith;
@RunWith(PactRunner.class)
@Provider("BusService")
@PactFolder("../pacts")
public class BusStopContractTest {
@State("There is a bus with number 613 arriving to Hammersmith bus station")
public void hammerSmith() {
System.out.println("There is a bus with number 613 arriving to Hammersmith bus station" );
}
@TestTarget
public final Target target = new HttpTarget(8111);
}
我也想这样做,但是对于 Junit5,我需要使用 @ExtendWith 而不是 @RunWith,但是什么必须在 ExtendWith() 中定义吗?
@ExtendWith(PactRunner.class) 不起作用,我也试过 @ExtendWith(PactConsumerTestExt.class) 也没有工作。
在我的 pom 中我有:
<!-- Pact Provider-->
<dependency>
<groupId>au.com.dius</groupId>
<artifactId>pact-jvm-provider-junit_2.12</artifactId>
<version>3.5.24</version>
</dependency>
Junit 木星
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-api</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter-engine</artifactId>
<scope>test</scope>
</dependency>
有什么建议吗?
【问题讨论】: