2017-05-08 91 views
0

我正在使用JVm-Junit庫編寫Pact的消費者端代碼。然而,在該行: MockProviderConfig config = MockProviderConfig.createDefault(); 我收到錯誤「createDefault()不是未定義的類型MockProviderConfig」Pact JVM Junit消費者編譯錯誤

我該怎麼做才能繼續。

我的POM文件看起來是這樣的: http://maven.apache.org/xsd/maven-4.0.0.xsd「> 4.0.0 Consumer_0805 Consumer_080517 0.0.1-SNAPSHOT 戰爭

<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(); 

    } 

} 
+0

你能張貼的是給錯誤的測試代碼? –

+0

您也可以嘗試最新版本,它是3.3.8 –

+0

感謝您的快速響應,發佈了測試代碼。 – PaChSu

回答

1

在版本3.3.8中,MockProviderConfig類是一個常規類,因此可以正常訪問。

在版本3.3.0之前,它既是Scala Singleton對象又是類,所以您需要根據從Java調用Scala類來適當地訪問它。

由於createDefault()被同伴單對象上定義,是指它的正確的方法是:

MockProviderConfig$.MODULE$.createDefault();