Załóżmy, że mam kilka mikroserwisów i osobny program, który coś tam sobie klika. Czy jest możliwe odpalenie tych usług w jakiś tam magiczny sposób, zapuszczenia testsuite i zobaczenia co faktycznie zostało przetestowane?
piotrpo napisał(a):
Załóżmy, że mam kilka mikroserwisów i osobny program, który coś tam sobie klika. Czy jest możliwe odpalenie tych usług w jakiś tam magiczny sposób, zapuszczenia testsuite i zobaczenia co faktycznie zostało przetestowane?
Tak, wszystko zależy od technologi. Najprostszym rozwiązaniem będzie uruchomienie twojej aplikacji jako unit test w technologii natywnej do języka, który woła maina i który kończy się jak np. wyślesz jakiś unixowy sygnał do apki.
Technologia to Java. Rozumiem, że piszesz o czymś takim, w testowanej aplikacji:
@Test
IntegrationTest(){
startThisApplication()
executeExternalTestSuit()
stopThisApplication()
}
?
piotrpo napisał(a):
Technologia to Java. Rozumiem, że piszesz o czymś takim, w testowanej aplikacji:
@Test IntegrationTest(){ startThisApplication() executeEsternalTestSuit() stopThisApplication() }
?
Tak, to fajne rozwiązanie jak chcesz coś zrobić na szybko. W przypadku wielu serwisów na raz pewnie starałbym się ogarnąć to jakoś w konsoli np. za pomocą tego https://www.jacoco.org/jacoco/trunk/doc/agent.html
piotrpo napisał(a):
Załóżmy, że mam kilka mikroserwisów i osobny program, który coś tam sobie klika. Czy jest możliwe odpalenie tych usług w jakiś tam magiczny sposób, zapuszczenia testsuite i zobaczenia co faktycznie zostało przetestowane?
Żadne narzędzie na razie nie istnieje, które potrafi wziąć aplikacje, wziąć test suit, odpalić je, i pokazać które części zostały przetestowane, a które nie. Jeśli masz coverage np 80%, to to znaczy że 20% na pewno jest nieprzetestowane, a pozostałe 80% może jest może nie.
Jeśli chcesz faktycznie spróbować z tym walczyć, to jedynym narzędziem jakie znam do tego celu jest mutation testing, do PHP jest np biblioteka "Infection", do Javy też pewnie taka jest, tylko to w ramach oczwyiście pojedynczej aplikacji. Z mikroserwisami będzie ciężej, z uwagi na konieczny restart aplikacji po wprowadzeniu mutacji.
Zarejestruj się i dołącz do największej społeczności programistów w Polsce.
Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.