Wiremock 验证 headers 通过自定义 ValueMatcherStrategy 包含许多值

Wiremock verify headers contains many values via custom ValueMatcherStrategy

我正在使用 Wiremock 来测试客户端。一个特定的测试是验证客户端发送一个 header 与逗号分隔的值列表。 然而,这些值来自无序的 collection。所以它可以是 first,secondsecond,first 并且两者都是有效的。

遗憾的是,我找不到任何可用于此的 ValueMatchingStrategycontaining 只期望一个值。

我尝试构建自定义 ValueMatcherStratgey,但从未调用 isMatchFor 方法。

new ValueMatchingStrategy(){
    @Override
    public ValuePattern asValuePattern() {
        return new ValuePattern(){
            @Override
            public boolean isMatchFor(String value) {
                return value.contains("first") && 
                       value.contains("second") &&
                       value.contains(",");
            }
        };
    }
}

是否有更简单的方法来验证 header 包含多个值?或者如何创建自定义匹配器?

你看过创建自定义匹配器的文档了吗? http://wiremock.org/docs/extending-wiremock/#custom-request-matchers