java - Wiremock 通过自定义 ValueMatcherStrategy 验证 header 包含许多值

标签 java wiremock

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

遗憾的是,我找不到任何可用于此目的的 ValueMatchingStrategy包含仅期望一个值。

我尝试构建自定义 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

关于java - Wiremock 通过自定义 ValueMatcherStrategy 验证 header 包含许多值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46703213/

相关文章:

java - 如何序列化一个lambda?

java - 如何用不同的值替换多个字符?

java - 如何使 WireMock 验证提供更多信息?

android - 没有接口(interface)方法 isAsyncStarted() 错误在魅族设备上运行 wiremock android 测试

java - 为什么 getResourceAsStream 返回 null?

java - 如何使用注释配置消息属性以进行验证 spring

java - 创建 websocket Java API

java - 将 WireMock Server 作为 SpringBoot 应用程序运行

java - 不满意的依赖异常 : Requested bean is currently in creation unresolvable circular reference

gradle - Gradle 不满足依赖关系?