查看一些合同测试的Pact,我们的Real api在响应中有时间戳,所以我只想根据json模式进行验证。
在这里的示例中-https://github.com/DiUS/pact-workshop-jvm#step-4--根据提供商验证协议
如果响应主体包含的值与预期值不同,那么测试就会失败,当我们针对提供者进行测试时,由于时间戳的原因,我的测试总是会发生同样的情况。
我如何告诉Pact只针对json结构进行验证,而忽略内容?
您想要使用匹配器。匹配者是一种表达"匹配"的方式;我希望响应是这种形状,但我不在乎具体的值"。
如果您需要它们作为请求值,请考虑生成器。请参阅以下文章以获取示例:
- https://pactflow.io/blog/dealing-with-relative-dates-in-contract-tests/
- https://pactflow.io/blog/injecting-values-from-provider-states/