0

我正在使用 4.1.11 版本的 junit5 提供程序。

<dependency>
  <groupId>au.com.dius.pact.provider</groupId>
  <artifactId>junit5</artifactId>
  <version>4.1.11</version>
</dependency>

根据文档,我在提供程序测试类中同时指定了标记和 fallbackTag。

consumerVersionSelectors = {
                @VersionSelector(tag = "branch123", fallbackTag = "master")
        }

现在如果 branch123 标签合约不存在,它应该使用主标签合约。但是它对我不起作用并引发以下错误:

au.com.dius.pact.provider.junitsupport.loader.NoPactsFoundException: No Pact files were found to verify

我可以确认协议代理确实存在主标签,并在标签字段中使用它并成功运行测试。

这是图书馆的错误吗?还是我错过了什么?

查看 VersionSelector 的代码,似乎确实有 fallbackTag() 方法,但是当我进入 PactBroker 时,consumerVersionSelectors() 方法似乎没有任何 fallbackTag 引用:

https://github.com/pact-foundation/pact-jvm/blob/4_1_11/provider/src/main/java/au/com/dius/pact/provider/junitsupport/loader/VersionSelector.java

https://github.com/pact-foundation/pact-jvm/blob/4_1_11/provider/src/main/java/au/com/dius/pact/provider/junitsupport/loader/PactBroker.java

谢谢。

4

1 回答 1

0

它看起来和听起来都像是一个错误——你能在 Pact JVM 问题登记册上提出它吗?

于 2020-12-03T01:36:34.593 回答