kotlin PACT-Test中的日期格式被忽略并失败(Java 17)

ijxebb2r  于 12个月前  发布在  Kotlin
关注(0)|答案(1)|浏览(92)

我们有一个问题,在迁移后,一些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版本问题吗?
预期行为:测试为绿色。

9bfwbjaz

9bfwbjaz1#

这个问题在我将版本更改为4.1.41后得到解决。

相关问题