Gradle Pact提供商没有';不要将验证发送给Pact代理

Gradle Pact提供商没有';不要将验证发送给Pact代理,gradle,pact,pact-jvm,pact-java,Gradle,Pact,Pact Jvm,Pact Java,我是Pact(消费者驱动测试)的新手,gradle,我曾在这个著名的研讨会上尝试使用Java和Pact Brocker进行Pact,但在提供者将验证发送给Pact代理时,最后一部分从未起作用。它通过RESTAPI手动工作,但使用项目时从不发送验证。请帮助理解发生了什么(可能缺少某些内容,某些库或注释?) 当生产者试图将验证发送到Pact代理时,我附加调试日志(docker中的本地代理使用gradle with/gradlew:example provider:pactVerify)。我猜POST

我是Pact(消费者驱动测试)的新手,gradle,我曾在这个著名的研讨会上尝试使用Java和Pact Brocker进行Pact,但在提供者将验证发送给Pact代理时,最后一部分从未起作用。它通过RESTAPI手动工作,但使用项目时从不发送验证。请帮助理解发生了什么(可能缺少某些内容,某些库或注释?)

当生产者试图将验证发送到Pact代理时,我附加调试日志(docker中的本地代理使用gradle with
/gradlew:example provider:pactVerify
)。我猜POST请求的主体不见了

14:22:59.469 [DEBUG] [org.apache.http.impl.execchain.MainClientExec] Opening connection {}->http://localhost:80
14:22:59.469 [DEBUG] [org.apache.http.impl.conn.DefaultHttpClientConnectionOperator] Connecting to localhost/127.0.0.1:80
14:22:59.470 [DEBUG] [org.apache.http.impl.conn.DefaultHttpClientConnectionOperator] Connection established 127.0.0.1:55770<->127.0.0.1:80
14:22:59.470 [DEBUG] [org.apache.http.impl.execchain.MainClientExec] Executing request POST /pacts/provider/ExampleProvider/consumer/JunitRuleMultipleInteractionsConsumer/pact-version/e66d465478e1934bca0ad9b905a2f83835af481d/verification-results HTTP/1.1
14:22:59.470 [DEBUG] [org.apache.http.impl.execchain.MainClientExec] Target auth state: UNCHALLENGED
14:22:59.470 [DEBUG] [org.apache.http.impl.execchain.MainClientExec] Proxy auth state: UNCHALLENGED
14:22:59.492 [DEBUG] [org.apache.http.impl.execchain.MainClientExec] Connection can be kept alive indefinitely
14:22:59.493 [DEBUG] [org.apache.http.impl.conn.DefaultManagedHttpClientConnection] http-outgoing-255: Close connection
14:22:59.493 [DEBUG] [org.apache.http.impl.execchain.MainClientExec] Connection discarded
14:22:59.493 [DEBUG] [org.apache.http.impl.conn.PoolingHttpClientConnectionManager] Connection released: [id: 255][route: {}->http://localhost:80][total kept alive: 0; route allocated: 0 of 5; total allocated: 0 of 10]
14:22:59.493 [DEBUG] [org.gradle.internal.progress.DefaultBuildOperationExecutor] Completing Build operation 'Execute verifyPact for :example-provider:pactVerify_ExampleProvider'
14:22:59.493 [DEBUG] [org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter] Removed task artifact state for {} from context.
14:22:59.493 [DEBUG] [org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter] Finished executing task ':example-provider:pactVerify_ExampleProvider'
14:22:59.493 [DEBUG] [org.gradle.internal.progress.DefaultBuildOperationExecutor] Completing Build operation 'Task :example-provider:pactVerify_ExampleProvider'
14:22:59.493 [null] [org.gradle.internal.progress.DefaultBuildOperationExecutor] 
14:22:59.493 [DEBUG] [org.gradle.internal.progress.DefaultBuildOperationExecutor] Build operation 'Task :example-provider:pactVerify_ExampleProvider' completed
14:22:59.493 [INFO] [org.gradle.execution.taskgraph.DefaultTaskPlanExecutor] :example-provider:pactVerify_ExampleProvider (Thread[Task worker for ':',5,main]) completed. Took 0.96 secs. 
14:22:59.469[DEBUG][org.apache.http.impl.execchain.MainClientExec]打开连接{}->http://localhost:80
14:22:59.469[DEBUG][org.apache.http.impl.conn.DefaultHttpClientConnectionOperator]连接到本地主机/127.0.0.1:80
14:22:59.470[调试][org.apache.http.impl.conn.DefaultHttpClientConnectionOperator]已建立连接127.0.0.1:55770127.0.0.1:80
14:22:59.470[调试][org.apache.http.impl.execchain.MainClientExec]执行请求POST/pacts/provider/ExampleProvider/consumer/junitruleMultipleInteractionConsumer/pact版本/e66d465478e1934bca0ad9b905a2f83835af481d/验证结果http/1.1
14:22:59.470[DEBUG][org.apache.http.impl.execchain.MainClientExec]目标身份验证状态:未被质询
14:22:59.470[DEBUG][org.apache.http.impl.execchain.MainClientExec]代理身份验证状态:未被质询
14:22:59.492[DEBUG][org.apache.http.impl.execchain.MainClientExec]连接可以无限期保持活动状态
14:22:59.493[DEBUG][org.apache.http.impl.conn.DefaultManagedHttpClientConnection]http-outing-255:关闭连接
14:22:59.493[DEBUG][org.apache.http.impl.execchain.MainClientExec]已放弃连接
14:22:59.493[DEBUG][org.apache.http.impl.conn.poolighttpclientconnectionmanager]已释放连接:[id:255][route:{}->http://localhost:80][保持活动状态的总数:0;分配的路由:0/5;分配的总数:0/10]
14:22:59.493[DEBUG][org.gradle.internal.progress.DefaultBuildOperationExecutor]正在完成生成操作“执行verifyPact for:example provider:pactVerify_ExampleProvider”
14:22:59.493[DEBUG][org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter]从上下文中删除了{}的任务工件状态。
14:22:59.493[DEBUG][org.gradle.api.internal.tasks.executioneatmostoncetaskexecuter]已完成执行任务:示例提供程序:pactVerify_ExampleProvider'
14:22:59.493[DEBUG][org.gradle.internal.progress.DefaultBuildOperationExecutor]正在完成生成操作“任务:示例提供程序:pactVerify_示例提供程序”
14:22:59.493[null][org.gradle.internal.progress.DefaultBuildOperationExecutor]
14:22:59.493[DEBUG][org.gradle.internal.progress.DefaultBuildOperationExecutor]生成操作“任务:示例提供程序:pactVerify_示例提供程序”已完成
14:22:59.493[INFO][org.gradle.execution.taskgraph.DefaultTaskPlanExecutor]:示例提供程序:pactVerify_示例提供程序(线程[Task worker for':',5,main])已完成。花了0.96秒。

pact示例似乎缺少一个重要步骤:添加@PactBroker注释

@Pact注释下面应该有一个注释

@PactBroker(port = PORT_NUM , host = HOST_NAME)

您可以在这里找到一个示例

您需要查看您的pact broker日志,因为如果日志记录在那里,验证结果将被发布。您可以启用Apache HTTP客户端的调试,以查看实际的请求和响应。