我已经广泛地使用了SpringCloudContract。这是非常有效的TDD。我想在实际部署期间验证合同。我有n个微服务(Spring流:源/处理器/接收器),并希望允许用户在数据流服务器仪表板中定义流(kafka)时将它们链接起来。我通过流中的某个对象作为 输入/输出用于微服务。我想检查微服务的兼容性并相应地提醒用户。 SpringCloudContract便于在开发时验证合同,而不是运行时。部署Spring云合同验证
请帮忙。
我已经广泛地使用了SpringCloudContract。这是非常有效的TDD。我想在实际部署期间验证合同。我有n个微服务(Spring流:源/处理器/接收器),并希望允许用户在数据流服务器仪表板中定义流(kafka)时将它们链接起来。我通过流中的某个对象作为 输入/输出用于微服务。我想检查微服务的兼容性并相应地提醒用户。 SpringCloudContract便于在开发时验证合同,而不是运行时。部署Spring云合同验证
请帮忙。
我是新来春云合同,但我已经找到一种方法来启动StubRunner但是当它触发我获得以下证书。
2017年4月26日16:14:10373 INFO主cssContractTester:36 - ContractTester:consumerMessageListener >>>>>>>>>>>>>>>>>>>>>>>>>> >> [email protected]13f156 2017年4月26日16:14:10503 ERROR主osccvmsStreamStubMessages:63 - 同时尝试发送消息时发生异常[GenericMessage [有效载荷= { “名称” : “第一”, “描述”: “有效”, “值”:1},标题= {ID = 49c6cc5c-93c8-2498-934a-175f60f42c03,时间戳= 1493203450482}]],与名称[验证的信道] org.springframework.messaging.MessageDeliveryException:调度程序没有用于通道'application.input'的订阅者。嵌套异常是org.springframework.integration.MessageDispatchingException:分派器没有订阅者,failedMessage = GenericMessage [payload = {“name”:“First”,“description”:“Valid”,“value”:1},headers = {id = 49c6cc5c-93c8-2498-934a-175f60f42c03,时间戳= 1493203450482}] 在org.springframework.integration.channel.AbstractSubscribableChannel.doSend(AbstractSubscribableChannel.java:93) 在org.springframework.integration.channel.AbstractMessageChannel.send( AbstractMessageChannel.java:423) at org.springframework.integration.channel.AbstractMessageChannel.send(AbstractMessageChannel.java:373) at org.springframework.cloud.contract.verifier.messaging.stream.StreamStubMessages.send(StreamStubMessages.java: 60) at org.springframework.cloud.contract.verifier.messaging.stream.StreamStubMessages.send(StreamStubMessages.java:
与Maven同样做工精细安装,但不能与主类。
...
@RunWith(SpringRunner.class)
@AutoConfigureMessageVerifier
@EnableAutoConfiguration
@EnableIntegration
@Component
@DirtiesContext
public class ContractTester {
private static Logger logger = LoggerFactory.getLogger(ContractTester.class);
@Autowired StubTrigger stubTrigger;
@Autowired ConsumerMessageListener consumerMessageListener;
@Bean
public boolean validSimpleObject() throws Exception {
logger.info("ContractTester : consumerMessageListener >>>>>>>>>>>>>>>>>>>>>>>>>>>>"+stubTrigger);
stubTrigger.trigger("accepted_message");
if(consumerMessageListener ==null) {
logger.info("ContractTester : consumerMessageListener >>>>>>>>>>>>>>>>>>>>>>>>>>>>");
}
logger.info("ContractTester >>>>>>>>>>>>>>>>>>>>>>>>>>>>" +consumerMessageListener.toString());
SimpleObject simpleObject = (SimpleObject) consumerMessageListener.getSimpleObject();
logger.info("simpleObject >>>>>>>>>>>>>>>>>>>>>>>>>>>>" +simpleObject.toString());
assertEquals(1, simpleObject.getValue());
//then(listener.eligibleCounter.get()).isGreaterThan(initialCounter);
return true;
}
}