1
我正在使用wiremock来测试客户端。一个特别的测试是验证客户端发送一个包含逗号分隔值列表的头。 但是,这些值来自无序集合。所以它可以是first,second
或second,first
,都是valids。Wiremock验证头包含许多值通过自定义ValueMatcherStrategy
很遗憾,我找不到任何可用于此的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(",");
}
};
}
}
是否有更简单的方法来验证标头是否包含多个值?或者我如何创建自定义匹配器?
我正在尝试使用旧的WireMock版本。 'com.github.tomakehurst.wiremock.matching.RequestMatcherExtension'工作正常。你必须通过'verify(RequestPatternBuilder.forCustomMatcher(new RequestMatcherExtension(){...}));'(这是没有很好的文档) –
现在它将被记录。 https://github.com/tomakehurst/wiremock/pull/777 –