Pact JVM Junit 消费者编译错误

Pact JVM Junit Consumer Compilation Error

我正在使用 JVm-Junit 库编写 Pact 的消费者端代码。但是在线: MockProviderConfig 配置 = MockProviderConfig.createDefault(); 我收到错误 "createDefault() is not undefined for the type MockProviderConfig"

我该怎么做才能继续。

我的 POM 文件如下所示: http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 Consumer_0805 Consumer_080517 0.0.1-快照 war

<dependencies>
    <dependency>
        <groupId>au.com.dius</groupId>
        <artifactId>pact-jvm-consumer-junit_2.11</artifactId>
        <version>3.2.9</version>
    </dependency>
</dependencies>

测试代码:

package DSLDirectConsumerTest;

import java.io.IOException;
import java.util.HashMap;
import java.util.Map;

import org.junit.Test;

import au.com.dius.pact.consumer.ConsumerPactBuilder;
import au.com.dius.pact.model.MockProviderConfig;
import au.com.dius.pact.model.MockProviderConfig$;
import au.com.dius.pact.model.PactConfig;
import au.com.dius.pact.model.PactFragment;
import au.com.dius.pact.model.RequestResponsePact;

public class DirectDSLConsumerPactTest {

    @Test
    public void testPact() {
        PactFragment pactFragment = ConsumerPactBuilder.consumer("Some Consumer").hasPactWith("Some Provider")
                .uponReceiving("a request to say Hello").path("/hello").method("POST").body("{\"name\": \"harry\"}")
                .willRespondWith().status(200).body("{\"hello\": \"harry\"}").toFragment();

        MockProviderConfig.createDefault();

    }

}

在3.3.8版本中,MockProviderConfigclass是groovyclass,所以可以正常访问。

在版本 3.3.0 之前,它既是 Scala 单例对象又是 Class,因此您需要根据从 Java 调用 Scala classes 来适当地访问它.

由于 createDefault() 是在伴生单例对象上定义的,正确的引用方式是:

MockProviderConfig$.MODULE$.createDefault();