nCrunch–wykonywanie testów w tle

Dzisiaj chciałbym pokazać bardzo fajne narzędzie ułatwiające pisanie testów, szczególnie podczas refaktoryzacji i pracy nad starym kodem.

Dzięki nCrunch jesteśmy w stanie zobaczyć bardzo szybko, które linie kodu są pokryte przez testy. nCrunch wykonuje testy w tle i muszę przyznać, że robi to bardzo szybko. Wygląda na to, że w pełni wykorzystuje możliwości programowania współbieżnego.

Załóżmy, że mamy jakiś kod, który nie ma jeszcze testów (legacy code). W takiej sytuacji, nCrunch zaznaczy wszystkie linie czarnymi kropkami:

image

Następnie, napiszemy podstawowy test sprawdzający dzielenie:

image

Zielone kropki w przypadku testów oznaczają, że został on wykonany pomyślnie. Nie musimy ręcznie go uruchamiać, ponieważ nCrunch zrobi to za nas w tle. Działa to na tyle wydajnie, że szybciej jest poczekać aż nCrunch wykona go automatycznie w tle niż uruchamiać test z poziomu Visual Studio. Gdyby test nie udał się, wtedy odpowiednie linie będą zaznaczone na czerwono tzn.:

image

Przejdźmy teraz do implementacji MathHelper:

image

Ze screenu widać, że jedna linia nie jest pokryta ponieważ nie dostarczyliśmy na wejście wartości zero. Najeżdżając kursorem na kropki, dostaniemy dodatkowe informacje o pokryciu:

image

Oprócz graficznego wsparcia, mamy również standardowe tabelki pokrycia, ale to już było dawno osiągalne choćby z poziomu samego Visual Studio.

nCrunch został stworzony jako narzędzie do TDD, ale szczególnie jego zalety zauważam w przypadku pracy ze starym kodem, który nie był napisany w sposób TDD, stąd jego pokrycie może być dość słabe.

2 thoughts on “nCrunch–wykonywanie testów w tle”

  1. W zdaniu “Czerwone kropki w przypadku testów oznaczają, że został on wykonany pomyślnie.” jest chyba błąd – raczej powinny być “zielone kropki”.

Leave a Reply

Your email address will not be published.