Java 春云';t在测试期间从JSON文件中选择转换器
在下面的设置中,spring不会选择JSON文件中定义的转换器,该文件位于Java 春云';t在测试期间从JSON文件中选择转换器,java,spring,spring-cloud,spock,wiremock,Java,Spring,Spring Cloud,Spock,Wiremock,在下面的设置中,spring不会选择JSON文件中定义的转换器,该文件位于mappings目录下,但当我在测试代码中直接声明它时,它会选择 @配置 公共类配置{ @豆子 WireMockConfigurationCustomizer选项Customizer(){ 返回新的WireMockConfigurationCustomizer(){ @凌驾 public void自定义(wiremock配置选项){ 选项.扩展(BodyDefinitionTransformer.class); } };
mappings
目录下,但当我在测试代码中直接声明它时,它会选择
@配置
公共类配置{
@豆子
WireMockConfigurationCustomizer选项Customizer(){
返回新的WireMockConfigurationCustomizer(){
@凌驾
public void自定义(wiremock配置选项){
选项.扩展(BodyDefinitionTransformer.class);
}
};
}
}
公共类BodyDefinitionTransformer扩展响应定义Transformer{
@凌驾
公共响应定义转换(请求请求、响应定义、响应定义、文件源文件、,
参数(参数){
return responseDefinition;//通过在此处放置断点来检查此操作是否有效
}
@凌驾
公共布尔applyGlobally(){
返回false;
}
@凌驾
公共字符串getName(){
返回“车身变压器”;
}
}
当我使用.withTransformers(“body transformer”)
声明它时,代码可以完美地工作,但是当我将transformer名称放入JSON文件中的transformers
数组时,它就不工作了。你知道为什么吗
{
"request": {
"method": "POST",
"urlPattern": "/some/thing"
},
"response": {
"status": 200,
"bodyFileName": "my_payload.json",
"transformers": [
"body-transformer"
],
"headers": {
"Content-Type": "application/json"
}
}
}
@ContextConfiguration
@SpringBootTest(webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT)
@TestPropertySource
@AutoConfigureWireMock(port = 9632)
class DummyTestClass extends Specification {
def "some dummy test" () {
when:
stubFor(post("/some/thing").willReturn(aResponse()
//.withTransformers("body-transformer") transformer work if I declare it in this way
.withTransformerParameter("test", "test"
)))
// rest of my test where execute above request
}
}