我在同一个仓库中有两个项目,具有完全独立的目录结构(消费者在/test-consumer
,提供者在/app
)。
/test-consumer/build/pacts
正如预期的那样,消费者检查在 中输出一个 JSON Pact 文件
dependencies { test { systemProperties['pact.rootDir'] = "$buildDir/pacts" } }
然后我将文件复制到/app/build/pacts/
中,并将同一systemProperties
行放入我的提供商的build.gradle
.
我抄袭的示例项目正在使用 Pact 经纪人,所以我想我可以把它拿出来,并用 . 替换它rootDir
,但它不起作用。这就是我得到的:
WARNING: There are no consumers to verify for provider 'Coffee Ordering Provider'
因此,它似乎正在查找 Pact 文件,但在其中任何一个中都找不到提供者+消费者对。
TL;DR:我做错了什么?
以下是一些可以提供帮助的代码位:
dependencies {
...
test { systemProperties['pact.rootDir'] = "$buildDir/pacts" }
}
pact {
serviceProviders {
'Coffee Ordering Provider' {
port = 8080
startProviderTask = startProvider
terminateProviderTask = stopProvider
stateChangeUrl = url('http://localhost:8080/pactStateChange')
}
}
}