2017-04-05 3 views
0

모든 커넥터 (http, db, jms)에 대해 노새 도메인에 의존하는 노새 서비스가 있습니다.MUnit - 도메인의 JMS, DB 및 HTTP 커넥터 모의

내가 직면 한 문제는 특정 서비스/플로우에 대해 MUnit을 작성할 때 DOMAIN 프로젝트에서 커넥터를 모의 할 수 없다는 것입니다. 예를 들어 도메인에는 JMS 커넥터 (영원히 재 연결)가 있으며 연결을 계속 시도합니다. 이 모든 것은 munit이 실제로 호출되기 전에 발생합니다. 모든 커넥터를 어디에도 연결할 수 없도록하려면 어떻게해야합니까?

답변

1

도메인 프로젝트에 JMS 커넥터 구성 (예 : jms : 커넥터) 만 있어도 모의 할 필요가 없습니다. 인바운드/아웃 바운드 JMS 커넥터는 실제 플로우/서비스에만 있습니다. 실제 흐름에서 인바운드/아웃 바운드 JMS 커넥터를 조롱해야합니다.

샘플 코드 :

<mock:when messageProcessor="jms:outbound-endpoint" doc:name="jms-mock"> <mock:with-attributes> <mock:with-attribute name="doc:name" whereValue="#[matchContains('your jms doc:name')]"/> </mock:with-attributes> <mock:then-return payload="#[]"/> </mock:when>

당신은 위의 코드에 커넥터의 좀 더 속성을 추가 할 수 있습니다.