如何在 Wiremock 中使用 mappingsloader 加载映射文件?

How to use mappingsloader in wiremock to load mappings file(s)?

我通过记录服务器的交易创建了我的映射。现在我想使用我的 json 映射文件来加载映射。为此,我有以下代码:

import com.github.tomakehurst.wiremock.WireMockServer;

public class mockedTests{
    public static WireMockServer mockingServer;
    
    public void loadMaps(){
        mockingServer.loadMappingsUsing(****);
    }
}

我检查了 wiremock 代码,loadMappingsUsing 方法需要一个 MappingsLoader 作为参数。但是,我找不到正确创建 MappingsLoader 的方法。我在文档中找不到任何内容,也找不到任何示例或在线教程。此外,我坚持使用 WireMockServer 对象而不是规则或 WireMock 对象。有谁知道如何创建 MappingsLoader 来加载我的映射 json 文件?我正在使用 wiremock 的独立版本。谢谢。

By default,WireMock 将查找 /src/test/resources 下的文件。如果您在 Java 中创建 WireMock 实例并在自定义位置创建文件,则需要传入一个 option() 对象,并附加 .usingFilesUnderDirectory("/path/to/files-and-mappings-root")

WireMockServer wm = new WireMockServer(options().usingFilesUnderDirectory("/path/to/files-and-mappings-root"))

如果您需要在从命令行启动 WireMock 时执行此操作,则类似于:

$ java -jar wiremock-standalone-2.27.0.jar --root-dir "/path/to/files-and-mappings-root"

我认为您最初的问题可能是由于未启动 WireMock 服务器或未使用 options() 对象进行规则。