Groovy和Spring云契约-bodyAsValue中的变量
我想知道如何在Groovy中创建带有随机值的Json负载。 比如说Groovy和Spring云契约-bodyAsValue中的变量,groovy,spring-cloud-contract,Groovy,Spring Cloud Contract,我想知道如何在Groovy中创建带有随机值的Json负载。 比如说 Contract.make { name"MyFirstContract" description "A description" request { method "POST" url "/api/team/createTeam" headers {
Contract.make {
name"MyFirstContract"
description "A description"
request {
method "POST"
url "/api/team/createTeam"
headers {
contentType applicationJson()
accept applicationJson()
header"Authorization", execute('bearerOfAccessToken()')
}
body """ {
"authenticatedUserCode":"papas",
"input": {
"name":"${execute('generateTeamUniqueName()')}",
"teamDefinitionName": "JUNIT TEST NAME",
"context":"context AHO",
"description":"team Description",
"members":
[
{"role":"Junit Reviewer",
"memberType":"USER",
"reference":"papas"
},
{"role":"Junit Observer",
"memberType":"USER",
"reference":"papas"
},
{"role":"Junit Collaborator",
"memberType":"USER",
"reference":"papas"
},
{"role":"Junit Reviewer",
"memberType":"USER",
"reference":"papas"
}
]
} } """
}
前面代码中的重要部分是以下在编译过程中失败的部分
显示以下错误消息:
Execution default-generateTests of goal org.springframework.cloud:spring-cloud-contract-maven-plugin:3.0.2:gener
ateTests failed: expecting '}' or ',' but got current char 'E' with an int value of 69
是否可以在主体内部调用方法,或者我必须通过相同的方法返回主体的所有内容
谢谢大家! 你必须为整个身体打电话,这对身体的一部分不起作用谢谢你Marcin,我认为这是事实,但我需要额外的确认Marcin你失去了groovy测试提供的美丽/清洁,因为我们必须逃离角色。当然,我们可以将json主体存储在文件中,而无需转义字符,但这也增加了额外的一小层复杂性。如果能够从Groovy测试中调用方法,那就太好了。再次感谢你!嗨,马辛,请看一下这个问题,因为它与这个问题有关,你已经飞快地回答了:谢谢!
Execution default-generateTests of goal org.springframework.cloud:spring-cloud-contract-maven-plugin:3.0.2:gener
ateTests failed: expecting '}' or ',' but got current char 'E' with an int value of 69