Wiremock多个匹配单个查询参数

时间:2019-02-26 08:59:32

标签: parameters matching wiremock

我正在使用Wiremock独立2.21,并且我希望单个查询参数具有多个匹配项。 我要与邮递员发送的邮件:

...

    "request": {
        "method": "POST",
        "urlPattern":"/template.*",
        "queryParameters" : {
            "param1" : {
                "equalTo" : "test1"
            }
        }
    },

...

在我的映射文件中,我有这个:

MongoClientSettings settings = MongoClientSettings.builder()
            .applyConnectionString(new ConnectionString("mongodb://" + IP)).build();
client = MongoClients.create(settings);

我希望它也与其他字符串匹配。例如:test2,test3等。Wiremock可以吗?

1 个答案:

答案 0 :(得分:1)

是的,可以使用此替代方法:使用“ matches”并定义一个正则表达式而不是“ equalTo”,如下所示:

      {...
        "request": {
            "method": "POST",
            "urlPattern":"/template.*",
            "queryParameters" : {
                "param1" : {
                    "matches" : "(\\btest1\\b|\\btest2\\b|\\test3\\b)"
                }
            }
        },...

如果您想让它与许多“测试”短语匹配,那么这可能是无法理解的,但是可以。通常是\btest1\b,但必须用另一个\来逃避\