edzio94
edzio94
#programowanie #java #spring
Macie jakieś sposoby na testy integracyjne pomiędzy mikroserwisami? załóżmy że testuje wrappera, który ma połączenie z user microservice i jeszcze dwoma innymi mikroserwisami. Czy jest jakiś sposób by to zautomatyzować czy po prostu mam włączać mikroserwisy przed każdym uruchomieniem testów?
5
  • Najlepsze
  • Wszystkie komentarze
Garet_
@ldefix: wtedy to nie są testy integracyjne ;)
2
dog_meat
W mikroserwisach nie robis się testów end-2-end.


@Legol: Robi się, na odpalonym środowisku
1
nachteil
@edzio94: Ja używam Docker Compose i Docker Gradle Plugin - w Gradle jest dodatkowy task, który odpala środowisko (Zookeeper, Elasticsearch, kilka serwisów z mojej firmy używanych jako zależności) z użyciem docker-compose.yml, buduje moją aplikację w postaci executable jar (Spring Boot), pakuje moją aplikację w obraz Dockera i też odpala. Spring Boot ma profil dockerTest, w którym komunikacja do zewnętrznych serwisów jest zapisana na hostach i portach zdefiniowanych w docker-compose.yml.
1
that_ugly_dude
@edzio94: gatling is the answer ;-)
1
l.....x
l.....x
@edzio94 mokuj odpowiedzi ( ͡° ͜ʖ ͡°)
0
L.....l
L.....l
@edzio94: Pomiędzy serwisami testuj tylko kontrakty. Spróbuj spring cloud contract. W mikroserwisach nie robis się testów end-2-end.
0
doubt
@edzio94: @Legol: Oprócz spring cloud contract do CDC jest jeszcze coś takiego jak pact. Jest to o tyle fajne, że można postawić centralnego brokera, do którego klienci wysyłają swoje "wymagania" odnośnie serwera, a potem serwer może w trakcie testów je pobrać i sprawdzić czy endpointy spełniają wszystkie założenia kontraktów z poszczególnymi klientami
0