2017-05-08 3 views
0

JVm-Junitライブラリを使用して、Pact用コンシューマサイドコードを作成しています。ただし、次の行にあります。 MockProviderConfig config = MockProviderConfig.createDefault(); エラーが発生しました。「MockProviderConfigタイプに対してcreateDefault()が未定義ではありません」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 ObjectとClassの両方であったため、JavaのScalaクラスを呼び出すごとに適切にアクセスする必要がありました。 createDefault()として

コンパニオンシングルトンオブジェクトで定義され、それを参照するための正しい方法は次のとおりです。

MockProviderConfig$.MODULE$.createDefault();

関連する問題