在验证消费者方面的合同时,我正在尝试使用场景(又名状态)。这些场景是在 Spring Cloud 合约中通过使用 groovy 脚本的数字前缀来定义的,就像在文档中所说的那样:
my_contracts_dir\
scenario1\
1_login.groovy
2_showCart.groovy
3_logout.groovy
结果,在wiremock json文件中,我看到添加了“newScenarioState”字段,如下所示:
{
"uuid" : "34a829d1-adf4-41e4-b7d9-6ee66d7de8bc",
"request" : {
"url" : "/foo/demo",
"method" : "GET"
},
"response" : {
"status" : 200,
"body" : "[{\"model\":{\"address\":\"Address\",\"name\":\"String\"}}]",
"headers" : {
"Content-Type" : "application/json"
}
},
"scenarioName" : "Scenario_contracts",
"requiredScenarioState" : "Step2",
"newScenarioState" : "Step3"
}
编写消费者集成测试时如何使用此状态的问题?假设我希望 stab 开关状态为“Step3”。如何在消费者集成测试中做到这一点?
附加信息:在消费者集成测试(即 Junit 测试)中,我使用 StubRunnerRule 而不是 @AutoConfigureStubRunner。所以我希望通过这个规则,我可以使用一些 api 来设置存根的状态。但我什么也没找到。