Spring Cloud 自动注册存根
2024-01-02 16:47 更新
如果使用@AutoConfigureWireMock
,它将从文件系统或类路径(默认情况下,从file:src/test/resources/mappings
)注册WireMock JSON存根。您可以使用注释中的stubs
属性来自定义位置,该属性可以是Ant样式的资源模式或目录。对于目录,将附加*/.json
。以下代码显示了一个示例:
@RunWith(SpringRunner.class) @SpringBootTest @AutoConfigureWireMock(stubs="classpath:/stubs") public class WiremockImportApplicationTests { @Autowired private Service service; @Test public void contextLoads() throws Exception { assertThat(this.service.go()).isEqualTo("Hello World!"); } }
实际上,WireMock总是从
src/test/resources/mappings
以及 stubs属性中的自定义位置加载映射。要更改此行为,还可以按照本文档下一节中的说明指定文件根。
如果您使用的是Spring Cloud Contract的默认存根jar,则您的存根将存储在/META-INF/group-id/artifact-id/versions/mappings/
文件夹下。如果要从该位置,所有嵌入式JAR中注册所有存根,那么使用以下语法就足够了。
@AutoConfigureWireMock(port = 0, stubs = "classpath*:/META-INF/**/mappings/**/*.json")
以上内容是否对您有帮助:
更多建议: