У меня есть проблема:Интеграция тестирования с пружинной интеграцией
У меня есть два компонент А и В (две войны):
А для хранения (Neo4j) и B для поиска (Elasticsearch).
Связь между компонентами управляется интеграцией Spring с использованием HTTP Inbound/Outbound.
Вот мои файлы конфигурации для пружинного интеграции: Сервер (Storage)
<int:annotation-config/>
<bean class="org.springframework.integration.http.inbound.UriPathHandlerMapping"/>
<int:gateway id="searchGateway"
service-interface="xxxxx.IAuditSearchService"/>
<int-http:outbound-gateway auto-startup="true"
request-channel="sendRequest"
url="http://localhost:8081/B/api/es"
extract-request-payload="true"/>
<int-http:inbound-gateway request-channel="searchResult"
request-payload-type="xxxxx.SearchResult"
path="/api/searchResult"
supported-methods="POST"/>
<int:object-to-json-transformer auto-startup="true"
id="objectToJson" input-channel="searchRequest"
output-channel="sendRequest">
</int:object-to-json-transformer>
<int:json-to-object-transformer input-channel="searchReply"
auto-startup="true"
id="jsonToObject" output-channel="searchResult"
type="xxxxxxxx.SearchResult">
</int:json-to-object-transformer>
<int:channel id="searchRequest"/>
<int:channel id="sendRequest"/>
<int:channel id="searchReply"/>
<int:channel id="searchResult"/>
В другой стороне: Сервер B:
<int:annotation-config/>
<beans:bean class="org.springframework.integration.http.inbound.UriPathHandlerMapping"/>
<int-http:inbound-gateway request-channel="searchRequest"
reply-channel="searchReply"
path="/api/es"
request-payload-type="xxxx.AuditChange"
supported-methods="POST"/>
<int:gateway id="searchGateway"
service-interface="xxxx.IAbSearchResult"/>
<int-http:outbound-gateway auto-startup="true"
request-channel="searchResult"
url="http://localhost:9080/A/api/searchResult"/>
<int:json-to-object-transformer id="jsonToObject" input-channel="searchRequest"
type="xxxxxx.AuditChange"/>
<int:object-to-json-transformer id="objectToJson" input-channel="searchReply" output-channel="searchResult"/>
<int:channel id="searchRequest"/>
<!--<int:channel id="esDelete"/>-->
<int:channel id="searchReply"/>
<int:channel id="searchResult"/>
Мой вопрос:
I хотите выполнить интеграционный тест с сервера A на сервер B на сервер A.
Какая стратегия? Можно ли это сделать без насмешек? Это можно сделать без запуска серверов? (Серверы А и вниз)
С наилучшими пожеланиями Набиль Belakbir
Спасибо за ваш ответ. Моя проблема заключается в том, что сервер A и сервер B компилируются отдельно. Тест Spring Spring MVC позволит мне протестировать InboundGateway без запуска сервера A. Я могу это сделать и путем тестирования Gateway directelly. Проблема в том, что когда сервер A попытается добраться до сервера B. В этом случае сервер B должен быть запущен или посмеяться. Я не нашел другого способа сделать это правильно. Спасибо также за moco Это может быть полезно в моем случае – Nabil