我已經廣泛地使用了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;
}
}