Choć o nCrunch’u pisał niedawno Arek (NCrunch czyli TDD na sterydach) ale, że post był w planach od dość dawna postanowiłem o nim i tak napisać. A wydanie stabilnej wersji RTM, które było całkiem niedawno to dość dobry pretekst.
nCrunch to narzędzie, które skutecznie usprawnia i automatyzuje naszą codzienną pracę programisty. Dzięki niemu mozolne czynności, które powinniśmy wykonywać co chwila są przyjemnością. Mowa tu o testach. A konkretniej o ich uruchamianiu…
A z uruchamianiem ich tak to bywa (w przynajmniej w moim przypadku :(), że się o tym zapomina. Kod wrzuca do repzoytorium i dopiero mail z informacją o błędach z TeamCity – który testy uruchamia – sprowadza na ziemię i przypomina, że przecież mamy zestaw testów, który należałoby sprawdzić przed wrzutem do repozytorium. Moją minę w takiej sytuacji pewnie można by szukać na devOps Reactions 😉
nCrunch zrzuca z nas obowiązek ręcznego odpalania testów. Gdyby jednak tylko o to chodziło to równie dobrze sprawdziłby się R#, który całkiem sprawnie pozwala odpalać testy z VS bez potrzeby uruchamiana oddzielnego narzędzia. nCrunch to ekosystem – od małych zielonych kropeczek jak na zdjęciu poniżej, poprzez metryki do wskaźnika ryzyka.
Co dają nam te milusie zielone punkciki? Im więcej zielonych kropek w naszym projekcie tym lepiej. Więcej kodu mamy pokrytego testami. Czarne oznaczają brak takowego pokrycia a czerwone sugerują, że gdzieś mamy problem bo któryś z testów kończy się błędem. Dzięki temu “od razu” widzimy czy nasze zmiany powodują zmianę działania systemu i możemy reagować. Na wolniejszym sprzęcie chwilę trzeba poczekać na wynik, ale nCrunch ma dość sensowną możliwość konfiguracji, tak aby nas sprzęt miał jeszcze czym napędzać zasobożerne Visual Studio.
Statystyki mogą kłamać, ale powyżej jak na dłoni widać, że ten projekt testami nie grzeszy.
Wskaźnik Risk/Progress mówi nam…kilka danych. Po lewej stronie widzimy wskaźnik, który mówi nam ile testów może zmienić swój kolor na czerwony w związku ze zmianami, które aktualnie wprowadzamy. Wyższa wartość – więcej potencjalnych testów, którym będzie trzeba się zająć. Po prawej natomiast – ogólny progress pracy, którą nCrunch ma do wykonania przy odpalaniu testów – dzięki temu możemy się zorientować ile jeszcze będziemy czekać na wynik. Ciemniejszy kolor natomiast, to historyczna zmiana jeśli chodzi o ryzyko zmiany testów z zielonego na czerwony czyli to co pokazuje lewa strona.
Dodatkowo dzięki nCrunch’owi możemy uruchamiać poszczególne testy jeśli mamy taką potrzebę. Jedną z opcji w menu kontekstowym pozwala uruchomić dany test, co więcej jednak nCrunch pozwala zrobić coś odwrotnego. Uruchomić wszystkie testy które pokrywają daną linię kodu! Sweet! Wisienką na torcie niech będzie to, że nCrunch pokaże nam czas wykonania poszczególnych instrukcji dzięki czemu możemy zdiagnozować wolniejsze fragmenty naszego kodu.
Więcej informacji znajdziecie na stronie nCrunch’a oraz we wpisie informującym o nowościach w wersji v2.
Minusy nCrunch’a (poza ceną ;-))? Dodatkowe pliki zostawiane w folderze solucji, ale te skutecznie można filtrować za pomocą plików takich jak gitignore generowanych np. przez gitignore.io.
Przy okazji, z powodu przedłużonego cyklu wydania wersji 2 (miała być do końca roku), jeśli macie aktualną wersję v1 to darmowa aktualizacja do wersji v2 została wydłużona z 6 do 12 msc. Wersje firmowe już aktualne… 🙂
Founder of Octal Solutions a .NET software house.
Passionate dev, blogger, occasionally speaker, one of the leaders of Wroc.NET user group. Microsoft MVP. Podcaster – Ostrapila.pl