无法在 PACT Broker 中发布 'Last Verified' 状态
Unable to publish the 'Last Verified' status in PACT Broker
对于微服务合同测试,我将 PACT 与 gradle 4.4 一起使用,这是我的 build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'au.com.dius:pact-jvm-provider-gradle_2.12:3.5.22'
}
}
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'
apply plugin: "au.com.dius.pact"
pact {
serviceProviders {
// You can define as many as you need, but each must have a unique name
UserService {
// All the provider properties are optional, and have sensible defaults (shown below)
protocol = 'http'
host = 'localhost'
port = 8111
project.version = "2.0.1"
hasPactsFromPactBroker('http://10.100.198.200:8113')
}
}
pact {
publish {
version = "2.0.1"
pactDirectory = 'pacts' // defaults to $buildDir/pacts
pactBrokerUrl = 'http://10.100.198.200:8113'
}
}
}
虽然我能够在代理中发布协议文件并能够看到依赖关系图,但 'Last Verified' 在 运行 执行 pactVerify 方法后显示空白。我看到了一些关于 'pact.verifier.publishResults=true' 的文档,并试图将其作为 gradle 参数传递,但我收到一条错误消息:
失败:构建失败,出现异常。
- 出了什么问题:
您的项目配置错误,期望在构建中使用 'pact' 配置,但得到的是值为 '' 的字符串。确保没有 属性 覆盖 'pact'.
我运行的gradle命令是:
./gradlew test pactPublish
./gradlew pactVerify -Ppact.verifier.publishResults=true
请告诉我我遗漏了什么,pact.verifier.publishResults 不被接受
首先是您的 Gradle 配置无效。应该只有一个 pact
块。你有两个。删除带有 publish
块的内部(但保留 publish
块 :-D)。
如果这不能解决您的问题,请查看 https://github.com/DiUS/pact-jvm/issues/738 并查看评论中的任何更改是否有帮助。
对于微服务合同测试,我将 PACT 与 gradle 4.4 一起使用,这是我的 build.gradle:
buildscript {
repositories {
mavenCentral()
}
dependencies {
classpath 'au.com.dius:pact-jvm-provider-gradle_2.12:3.5.22'
}
}
apply plugin: 'java'
apply plugin: 'maven'
apply plugin: 'eclipse'
apply plugin: "au.com.dius.pact"
pact {
serviceProviders {
// You can define as many as you need, but each must have a unique name
UserService {
// All the provider properties are optional, and have sensible defaults (shown below)
protocol = 'http'
host = 'localhost'
port = 8111
project.version = "2.0.1"
hasPactsFromPactBroker('http://10.100.198.200:8113')
}
}
pact {
publish {
version = "2.0.1"
pactDirectory = 'pacts' // defaults to $buildDir/pacts
pactBrokerUrl = 'http://10.100.198.200:8113'
}
}
}
虽然我能够在代理中发布协议文件并能够看到依赖关系图,但 'Last Verified' 在 运行 执行 pactVerify 方法后显示空白。我看到了一些关于 'pact.verifier.publishResults=true' 的文档,并试图将其作为 gradle 参数传递,但我收到一条错误消息:
失败:构建失败,出现异常。
- 出了什么问题: 您的项目配置错误,期望在构建中使用 'pact' 配置,但得到的是值为 '' 的字符串。确保没有 属性 覆盖 'pact'.
我运行的gradle命令是:
./gradlew test pactPublish
./gradlew pactVerify -Ppact.verifier.publishResults=true
请告诉我我遗漏了什么,pact.verifier.publishResults 不被接受
首先是您的 Gradle 配置无效。应该只有一个 pact
块。你有两个。删除带有 publish
块的内部(但保留 publish
块 :-D)。
如果这不能解决您的问题,请查看 https://github.com/DiUS/pact-jvm/issues/738 并查看评论中的任何更改是否有帮助。