问题描述
当交互中包含多个标头时,当我运行mvn pact:verify
来在提供者端验证合同时,pact-jvm-provider-maven_2.12版本3.5.25引发异常。
Caused by: java.lang.NullPointerException: Cannot set property 'text' on null object
at org.codehaus.groovy.runtime.NullObject.setProperty (NullObject.java:80)
at org.codehaus.groovy.runtime.InvokerHelper.setProperty (InvokerHelper.java:197)
at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.setProperty (ScriptBytecodeAdapter.java:484)
at au.com.dius.pact.provider.reporters.JsonReporter.finaliseReport (JsonReporter.groovy:49)
at org.codehaus.groovy.vmplugin.v7.IndyInterface.selectMethod (IndyInterface.java:232)
at au.com.dius.pact.provider.ProviderVerifier$_finialiseReports_closure32.doCall (ProviderVerifier.groovy:367)
我的互动是
"interactions": [
{
"description": "Consumer interaction of Put Person Algorithm","request": {
"method": "PUT","path": "model/v0/algorithm/person","headers": {
"Authorization": "Bearer ACCESS_TOKEN","Content-Type": "application/json"
},"query": {
"crn": [
"TENANT_NAME"
]
},"body": {
"standardizers": {},"encryption": {},"entity_types": {},"locale": "en_us"
}
},"response": {
"status": 200,"headers": {
"Content-Type": "application/json"
}
},"providerStates": [
{
"name": "B Put Person Algorithm"
}
]
}
],
如果我从请求标头中删除“ Content-Type”:“ application / json”,此错误将消失。这是插件中的错误吗?
解决方法
绝对支持多个标头。该特定版本或测试过程的某些其他工件可能很大。您能提交一个错误报告,理想情况下是可复制的示例吗?
还需要检查您是否使用了最新版本的maven插件。