2015-08-17 33 views
5

Używam testu integracji na ogromnej bazie kodu. W raporcie pokrycia chcę wiedzieć, który test obejmuje pewną linię kodu. Czy mimo to robisz to z jacoco?Znajdź test, który obejmuje linia jacoco

+1

Sonar ma na pokrycie testu. Zobacz tutaj, aby uzyskać wskazówkę. https://deors.wordpress.com/2014/07/04/individual-test-coverage-sonarqube-jacoco/ –

+0

Dość informacyjny link, ale czy istnieje sposób, aby to zrobić bez sonaru? –

+1

To, co Sonar robi, to pozwolić ci przejść od każdego testu do zbioru plików/linii źródłowych, które wypróbował test. Nie dostarcza go w przeciwnym kierunku, tj. Od linii testowanego kodu do testów obejmujących linię. Sam JaCoCo również nie ma wsparcia. Narzędziem pokrycia, które zapewnia drugą funkcję, jest pokrycie JMockit. –

Odpowiedz

0

JaCoCo nie gromadzi tych informacji, więc nie może ich zgłosić.

Niewykluczone, że można uruchomić każdy test niezależnie z JaCoCo i generować raport pokrycia za każdym razem, w ten sposób każdy test pokazuje dokładne linie testowanego kodu. (wtedy musisz zawinąć to w niestandardowy zagregowany raport, przypuszczam, gdzie możesz przechodzić od jednego testu do następnego).

Rozumiem, że może to nie być praktyczne z ogromnym kodem i dużą liczbą testów. Kolejnym ograniczeniem jest to, że nie dostaniesz "jakie są WSZYSTKIE testy, które sprawdziły ten wiersz kodu?".

Jak zauważyli @ Rogério, inne narzędzia mogą zapewnić tę funkcjonalność.

+3

Jacoco to robi, ale nie do testów integracyjnych. Tylko do testów jednostkowych. http://i.imgur.com/RUq7Xhn.png – mattalxndr

Powiązane problemy