Wiremock 验证 headers 通过自定义 ValueMatcherStrategy 包含许多值
Wiremock verify headers contains many values via custom ValueMatcherStrategy
我正在使用 Wiremock 来测试客户端。一个特定的测试是验证客户端发送一个 header 与逗号分隔的值列表。
然而,这些值来自无序的 collection。所以它可以是 first,second
或 second,first
并且两者都是有效的。
遗憾的是,我找不到任何可用于此的 ValueMatchingStrategy
。 containing
只期望一个值。
我尝试构建自定义 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
我正在使用 Wiremock 来测试客户端。一个特定的测试是验证客户端发送一个 header 与逗号分隔的值列表。
然而,这些值来自无序的 collection。所以它可以是 first,second
或 second,first
并且两者都是有效的。
遗憾的是,我找不到任何可用于此的 ValueMatchingStrategy
。 containing
只期望一个值。
我尝试构建自定义 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