我们有一个问题,在迁移后,一些Pact测试失败。似乎测试忽略了合同中日期的匹配规则。
匹配规则:
"$.entity.month": {
"matchers": [
{
"match": "date",
"format": "yyyy-MM"
}
],
字符串
Pact的Maven依赖:
<dependency>
<groupId>au.com.dius.pact</groupId>
<artifactId>consumer</artifactId>
<version>4.1.24</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>au.com.dius.pact.consumer</groupId>
<artifactId>java8</artifactId>
<version>4.1.24</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>au.com.dius.pact.consumer</groupId>
<artifactId>junit5</artifactId>
<version>4.1.24</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>au.com.dius.pact.provider</groupId>
<artifactId>junit5</artifactId>
<version>4.1.24</version>
<scope>test</scope>
</dependency>
型
测试的事件有一个格式为“yyyy-mm”的字段。但是,我得到以下输出:
1.1) body: $.entity.month Expected "2023-02" to match a date of 'yyyy-MM-dd': Unable to parse the date: 2023-02
型
似乎matcher的“format”字段被忽略了,测试需要标准格式的日期。
我已经尝试过更改pact provider和consumer的版本。但没有任何帮助。这可能是Java版本问题吗?
预期行为:测试为绿色。
1条答案
按热度按时间9bfwbjaz1#
这个问题在我将版本更改为4.1.41后得到解决。