应该设置一个契约源

Exactly one pact source should be set

我正在为提供商编写协议测试。 我写了一个class。当 运行 作为 JUNIT 时,我遇到了异常, "Exactly one pact source should be set"” 你能帮忙吗?

这是我的代码..

@RunWith(SpringRestPactRunner.class)
@Provider("personlisation-service")
@PactFolder("/pacts")
@PactUrl(urls = {"file:///pacts/PersonalisationServiceContractTest-CourierProfileController.json"})
@IgnoreNoPactsToVerify
@PactBroker(host = "${pact.broker.host:pact.hermescloud.co.uk}",
            port = "${pact.broker.port:443}",
            protocol = "${pact.broker.protocol:https}",
            tags = "${pactbroker.tags:master}")
@SpringBootTest(
        classes = Application.class,
        webEnvironment = SpringBootTest.WebEnvironment.RANDOM_PORT,
        properties = {.....
 }
      )

public class CourierProfilePactProviderTestIT {
--------
.
..
....

}

看起来您同时指定了@PactBroker 和@PactUrl。这两个都是标志,告诉框架从哪里获取契约。您应该只使用其中之一(在大多数情况下可能是经纪人)