0

我正在使用 JVm-Junit 库为 Pact 编写消费者端代码。然而在这一行: MockProviderConfig config = MockProviderConfig.createDefault(); 我收到错误“未为 MockProviderConfig 类型定义 createDefault()”

我该怎么做才能继续。

我的 POM 文件如下所示: http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 Consumer_0805 Consumer_080517 0.0.1-SNAPSHOT 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();

    }

}
4

1 回答 1

1

在 3.3.8 版本中,MockProviderConfig该类是一个 groovy 类,因此可以正常访问。

在 3.3.0 版本之前,它既是 Scala 单例对象又是类,因此您需要按照从 Java 调用 Scala 类的方式适当地访问它。

正如createDefault()在伴生单例对象上定义的那样,引用它的正确方法是:

MockProviderConfig$.MODULE$.createDefault();

于 2017-05-08T05:21:04.940 回答