Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ssl/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如果JUnit5测试失败,Pact不会将提供者验证结果发送给Pact代理_Java_Pact_Pact Jvm_Pact Java_Pact Broker - Fatal编程技术网

Java 如果JUnit5测试失败,Pact不会将提供者验证结果发送给Pact代理

Java 如果JUnit5测试失败,Pact不会将提供者验证结果发送给Pact代理,java,pact,pact-jvm,pact-java,pact-broker,Java,Pact,Pact Jvm,Pact Java,Pact Broker,我用spring创建了一个REST服务。现在我想使用pact和JUnit5来测试消费者-提供者通信。我已经有了一个正在运行的契约经纪人(来自)。消费者测试运行良好,并发布了协议。提供者测试加载这些并尝试验证它们。但只有验证成功后,测试才会上传结果。我试着用surefire和failsafe运行测试 测试代码: @ExtendWith(SpringExtension.class) @SpringBootTest(webEnvironment = SpringBootTest.WebEnvironm

我用spring创建了一个REST服务。现在我想使用pact和JUnit5来测试消费者-提供者通信。我已经有了一个正在运行的契约经纪人(来自)。消费者测试运行良好,并发布了协议。提供者测试加载这些并尝试验证它们。但只有验证成功后,测试才会上传结果。我试着用surefire和failsafe运行测试

测试代码:

@ExtendWith(SpringExtension.class)
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.DEFINED_PORT, properties = "server.port=12223")
@Provider("Provider")
@PactBroker
public class ProviderPactTest {

    @BeforeEach
    void setupTestTarget(PactVerificationContext context) {
        context.setTarget((new HttpsTestTarget("localhost", 12223, "/", true)));
    }

    @TestTemplate
    @ExtendWith(PactVerificationInvocationContextProvider.class)
    void pactVerificationTestTemplate(PactVerificationContext context) {
        context.verifyInteraction();
    }

    @State({ "state1" })
    public void doNothing() {

    }
}
pact经纪人财产在pom中定义:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-plugin</artifactId>
    <version>${maven.surefire.plugin.version}</version>
    <configuration>
        <systemPropertyVariables>
            <pact.provider.version>${project.version}</pact.provider.version>
            <pact.verifier.publishResults>true</pact.verifier.publishResults>
            <pact.verification.reports>json</pact.verification.reports>
            <pactbroker.tags>TAG</pactbroker.tags>
            <pactbroker.host>pact-broker.url.com</pactbroker.host>
            <pactbroker.port>80</pactbroker.port>
        </systemPropertyVariables>
    </configuration>
    <dependencies>
        <dependency>
            <groupId>org.junit.platform</groupId>
            <artifactId>junit-platform-surefire-provider</artifactId>
            <version>${junit-platform.version}</version>
        </dependency>
        <dependency>
            <groupId>org.junit.jupiter</groupId>
            <artifactId>junit-jupiter-engine</artifactId>
            <version>${junit.version}</version>
        </dependency>
    </dependencies>
</plugin>

org.apache.maven.plugins
maven surefire插件
${maven.surefire.plugin.version}
${project.version}
真的
json
标签
pact-broker.url.com
80
org.junit.platform
junit平台surefire提供程序
${junit platform.version}
org.junit.jupiter
朱尼特木星发动机
${junit.version}

是否可以将测试配置为通知pact代理验证失败?

这似乎是一个缺陷。你能把它放到仓库里吗