Wiremock存根-WithBodyFile位置_files以外的位置

Rag*_*ini 8 java stubbing wiremock

Wiremock文档指出,在withBodyFile中指定的文件位置应该在src / test / resources / __ files中。我想在src / test / resources / Testing_ABC / Testcase2 / myfile.xml中拥有文件

有什么办法可以实现?我尝试了以下操作,但似乎不起作用!

stubFor(get(urlPathEqualTo("/abc")).willReturn
                (aResponse().withHeader("Content-Type",
                        "text/xml; charset=utf-8").withHeader
                        ("Content-Encoding",
                                "gzip")
                        .withBodyFile
                                ("src/test/resources/Testing_ABC/Testcase2/myfile.xml)));
Run Code Online (Sandbox Code Playgroud)

但是,当我将文件放入src / test / resources / __ files / myfile.xml并相应地更改路径时,它可以正常工作。

我只是想知道是否可以使Wiremock在__files以外的资源的其他目录中查找,以便在项目中具有良好的资源结构。

Hen*_*iik -1

这似乎是您在创建规则时需要配置的内容。尝试

@Rule
public final WireMockRule rule = new WireMockRule(WireMockConfiguration.wireMockConfig()
  .withRootDirectory("src/test/resources/Testing_ABC"));
Run Code Online (Sandbox Code Playgroud)

然后你可能可以.withBodyFile("Testcase2/myfile.xml)在测试中使用。

  • 感谢您的回复亨利。我尝试了你的建议。但看起来像wiremock搜索src/test/resources/Testing_ABC/__files/Testcase2/myfile.xml中的文件。所以它以某种方式期望 __files 目录,我想避免这种情况。 (2认同)