MC, 10:03 czwartek, 26.04.2012 r.
Ilustracja do artykułu: Visual Studio i UT - Włączenie opcji Code Coverage

Visual Studio i UT - Włączenie opcji Code Coverage

Kolejne zagadnienie związane z testami jednostkowymi. Tym razem chciałbym pokazać jak w Visual Studio włączyć opcję Code Coverage, która jak sama nazwa podpowiada, pozwoli określić w jakim stopniu kod aplikacji jest pokryty testami. Bardzo wygodne, ale i przydatne narzędzie. Metodologii pewnie znajdzie się wiele, ale często polecana jest ta, mówiąca że dobry wskaźnik, to wskaźnik wysokiego pokrycia, ale bez specjalnej przesady (czyli nie dążmy na siłę do 100%).

Jak sprawdzić współczynnik Code Coverage?

Po wykonaniu testów jednostkowych, możemy kliknąć na dany test prawym przyciskiem myszy i wybrać z kontekstowego menu opcję "Code Coverage". Pojawi nam się nowe okienko, w którym będziemy mogli podglądać wartości tego współczynnika. Oczywiście... będziemy mogli, jeśli ta opcja jest włączona, w przeciwnym razie zamiast wyliczonych wartości procentowych otrzymamy komunikat: Cannot find any overage data (.coverage or .coveragexml) files. Check test run details for possible errors.

Jak włączyć opcję Code Coverage?

Przejdźmy zatem do głównego menu VS i wybierzmy kolejno: Test > Edit Settings > Local (local.testsettings). Powinno pojawić nam się okienko z lokalnymi ustawieniami dla testów. Wybierzmy więc zakładkę "Data and Diagnostics" i zaznaczmy "Code Coverage".

Właściwie tym sposobem włączyliśmy tę opcję, jednak jeśli odpalimy na nowo testy i podejrzymy co nowego w okienku od pokrycia kodu, zauważymy że nic miłego, bo niestety kolejny złowrogi komunikat: Empty results generated: none of the instrumented binary was used. Look at test run details for any instrumentation problems.

W czym problem?

Rzecz w tym, że choć włączyliśmy Code Coverage, to jednak nie wskazaliśmy, które części aplikacji mają zostać przebadane i nie otrzymujemy żadnych danych. Aby to zrobić, należy w ustawieniach lokalnych dla testów, kliknąć dwukrotnie w uprzednio zaznaczoną opcję Code Coverage. Pojawi nam się okno z wylistowanymi dll-kami naszego projektu. Gdy zaznaczymy co chcemy przebadać pod względem pokrycia testami, zamykamy wszystko zapisując z miany w ustawianiach. Tym razem po wykonaniu testów, w okienko od Code Coverage ujrzymy wartości procentowe tego wskaźnika.

Czy to wszystko?

Właściwie to już wszystko jeśli chodzi o samo włączenie tejże opcji. Chciałbym jednak polecić włączenie również możliwości kolorystycznego określenia, które części kodu są przetestowane, a które nie. Możemy to zrobić przy pomocy takiej charakterystycznej ikonki z kolorowymi paskami, która znajduje się w okienku Code Coverage. Dzięki temu, bardzo fajnie będziemy mogli zobaczyć np. co jeszcze zostało nam do wytestowania w danej klasie projektu.

Komentarze (0) - Nikt jeszcze nie komentował - bądź pierwszy!

Imię:
Treść: