Live Unit Testing w Visual Studio 2017 vs dotCover + ReSharper

W komentarzu do postu na temat Live Unit Testing w nowym Visual Studio pojawiło się pytanie o porównanie go z dotCover. Musiałam zrobić małe rozeznanie, ponieważ przyznam, że dotCover niestety nie miałam okazji nigdy używać na codzień w pracy. Jednak jakiś czas temu się nim bawiłam.

Zatem do rzeczy – owszem dotCover daje nam bardzo podobne możliwości do Live Testing, ale Live naprawdę jest Live – o tym będzie za chwilkę.

Jednak jest płatny i idzie w parze z ReSharperem jako pakiet ReSharper Ultimate. Ceny zaczynają się od 89 euro – wersja roczna dla indywidualnych użytkowników przedłużających licencję po trzecim roku. Kończą gdzieś w okolicach 399 euro. Wszystko też zależy od tego czy to licencja roczna czy płacimy z góry za miesiąc. Więcej informacji znajdziecie tutaj. Tymczasem w Visual Studio dostajemy Live Testing w pakiecie. Niestety jak słusznie w komentarzu zauważył @rbl – opcja ta jest dostępna tylko w wersji Enterpise i z taką też się w żadnej firmie w której pracowałam nie spotkałam – był co najwyżej Professional. Różnica w cenie między Professional a Enterpise jest znaczna – pierwsze to kilka tysięcy dolarów, drugie kilkaset. Pełny cennik tutaj.

DotCover podobnie jak LiveUnitTesting dostarcza nam informacji na temat pokrycia kodu bezpośrednio w edytorze. Tutaj widzimy testy, które przechodzą:

Live Unit Testing - Coverage

Jeśli nie będą przechodziły ikonki z lewej zmienią kolor na czerwony.

Pierwsze co zauważyłam jeśli chodzi o różnice, to dotCover nie obsługuje MSTest. Moje okienko Continous Testing Session z testami w MSTest wyglądało tak:

Dot Cover - MSTest

Czyli troszkę jakby działa, bo widać, że testy przechodzą, ale Coverage niestety nie jest uzupełniony. Kiedy zmieniłam testy na NUnit od razu zrobiło się lepiej:

DotCover - NUnit

Pod prawym klikiem na pasku z procentami mamy przycisk który pozwala nam szybko rzucić okiem na listę testów wchodząc w skład danej części.

Ale skąd się wzięło to okienko Continous Testing Session? Otóż w menu ReSharpera mamy opcję, która go uruchamia.

Live Unit Testing

Kiedy już włączymy, możemy skonfigurować uruchamianie tych testów:

Live Unit Testing

Zatem możemy sprawić, że uruchomią się podczas każdego zapisu lub podczas każdego budowania aplikacji. I tutaj właśnie pojawia się główna różnica – Live Unit Testing wbudowane w VS 2017 naprawdę jest Live, ponieważ by testy się uruchomiły nie musimy niczego zapisywać ani budować. Zmieniamy kod, czekamy chwilkę (mniej niż sekunda) i od razu w konsoli widzimy, że testy się uruchomiły. Co do tego „czekania chwilkę”, to właśnie w pewien sposób może się okazać to dla nas trochę uciążliwe jeśli na przykład tylko zamyśliliśmy się nad kodem a on już nam testy włącza. Znalazłam ustawienie o nazwie „Testcase Timeout”, ale nie jestem pewna za co odpowiada – nie udało mi się tego znaleźć. Natomiast jego zmiana nie miała wpływu na odległość czasu pomiędzy przestaniem pisać a włączeniem testów.

Jeszcze jeśli chodzi o obsługiwanie MSTest, NUnit i XUnit – to Live Unit Testing byłam w stanie sprawdzić jedynie na MSTest, ponieważ o ile Microsoft mówi, że działa z NUnit i XUnit tylko wystarczy doinstalować rozszerzenie, to jednak nie mówi jakie dokładnie i moje próby różnych skończyły się fiaskiem:(

Dużą różnicą są też wykresy pokrycia kodu, które w tej, jak widać na zrzucie ekranu powyżej, zgrabnej formie, daje nam DotCover. Live Unit Testing daje nam tylko informacje w edytorze kodu, gdzie mamy pokrycie a gdzie nie.

I jeszcze odpowiadając na pytanie z komentarza – wersję Enterprise zainstalowałam w wersji RC i z niej właśnie pochodzą zrzuty ekranu zrobione już parę miesięcy temu na potrzeby prezentacji z tego tematu.

Kto żyw niechaj rusza do boju – Daj się poznać 2017

Już jest – wystartowała rejestracja do kolejnej edycji konkursu programistycznego „Daj się poznać”:)

Bardzo mnie to cieszy i niniejszym chciałam wszystkich zachęcić do startu, ponieważ jak mogliście przeczytać w moich wpisach z zeszłego roku jest to naprawdę super przygoda.

Może się Wam wydawać, że trzy miesiące to za długo i że nie dacie rady. Nie martwcie się na zapas! Najważniejsze to spróbować i zobaczyć co będzie dalej. Na pewno podczas udziału w konkursie poznacie dużo innych pasjonatów, którzy lubią kodować po godzinach i tym samym rozszerzycie krąg znajomych o bardzo wartościowych ludzi. Na początku wdrożyć się w tryb pisania dwa razy w tygodniu może być trudno jeśli nie pisaliście niczego wcześniej, ale z czasem przywykniecie i już w czasie kodowania czy mijającego dnia będą Wam słowa same przychodziły do głowy.

Zachęcam do przeczytania również mojego gościnnego wpisu na stronie devstyle.pl, gdzie opisuję swoją drogę do drugiego miejsca:) Choć w tym roku nie zamierzam startować będę śledzić konkurs i trzymać kciuki! Powodzenia!

Gala „Daj się poznać” – czyli parę słów od zdobywczyni drugiego miejsca

W ostatnią sobotę – 18 czerwca odbyła się uroczysta Gala wieńcząca trzy miesiące zmagań w konkursie „Daj się poznać” zorganizowanym przez Maćka Aniserowicza.

Wydarzenie składało się z trzech części (nie licząc oczywiście wstępu, w którym Maciek powitał wszystkich bardzo ciepłymi i energetyzującymi słowami) – najpierw były dwie prezentacje przedstawicieli partnerów konkursu – czyli mBanku i SoftwareHut. Po nich nastąpiły prelekcje uczestników z przerwą na obiad i rozdanie nagród. Ostatnim punktem programu było afterparty, które miało miejsce w Beerokracji… i nie tylko:)

Laureatem nagrody głównej został Piotr Gankiewicz ze swoim projektem o nazwie Warden – czyli narzędziem do monitorowania. Projekt był naprawdę świetnie przygotowany, towarzyszy mu również dedykowana strona i wyczerpujące wiki. Pełen profesjonalizm jednym słowem. Aplikacja jest dostępna jako Open Source na Githubie.

Pierwsze, co przychodzi mi na myśl w związku z tym wydarzeniem, to naprawdę świetna atmosfera, jaka towarzyszyła prezentacjom uczestników. Każdy został przyjęty ciepło bez względu na pomysł, technologię i poziom doświadczenia w wystąpieniach publicznych. Zresztą jeśli już o poziomach mowa, to mimo, iż wiele osób prezentowało się po raz pierwszy na scenie, wszystko wyszło to naprawdę świetnie.
Przyznam, że nawet troszkę żałowałam, iż nie zdecydowałam się na zaprezentowanie rezultatu swoich prac. Wszystko to dlatego, że do samego końca myślałam sobie – gdzie ja tam z tą moją aplikacją będę wyskakiwać – przecież nawet jej nie skończyłam. Tymczasem jednak, jak się okazało podczas rozdania nagród, mój projekt przyniósł mi drugie miejsce. W ten oto sposób wygrałam wypasioną klawiaturę mechaniczną Das Keyboard Szczegółowe wyniki wraz z punktacją oraz relację Maćka można znaleźć tutaj.

Na nagrodzie w postaci klawiatury się nie skończyło, ponieważ otrzymałam również w ramach nagrody specjalnej od jednego z partnerów – mBanku zegar/budzik w postaci robota z Gwiezdnych Wojen. Wydaje bardzo pocieszne dźwięki i wygląda tak:

Robot

Już wcześniej pisałam, że bardzo się cieszę, że dotrwałam do końca konkursu spełniając warunki znalezienia się wśród 70 innych osób, które je spełniły. Pisałam też, że bardzo się cieszę, że trafiłam do szczęśliwej 16stki. Ale teraz cieszę się niewyobrażalnie, bo gdy wysyłałam zgłoszenie na konkurs, nawet przez myśl mi nie przeszło, że mogę zajść tak daleko i tak wysoko. To było niesamowite wyzwanie a rezultat dał mi teraz tak pozytywnego kopa, o jakim nawet nie marzyłam. Mam nadzieję, że ta pozytywna energia zostanie ze mną na długo i uda mi się ją zainwestować w nowe fajne wyzwania.

Jeszcze raz wielkie DZIĘKUJĘ dla Maćka jako organizatora oraz dla wszystkich, którzy na mnie głosowali, bo ilość tych głosów naprawdę mnie zaskoczyła.

Jeśli przed jakąś przyszłą edycją „Daj się poznać” ktoś będzie się zastanawiał czy warto – odpowiadam warto! Nigdy nie wiesz co fajnego z tego wyjdzie:) I nie dowiesz się jeśli nie spróbujesz:)

P.S. Zabawne jest to, że zarówno Piotr – zwycięzca, jak i ja jesteśmy z Krakowa:) Z kolei w pierwszej trójce zwycięzców są dwie dziewczyny:)

Daj się poznać – jestem w Wielkim Finale!!!

Dziś zostały ogłoszone wyniki pierwszego głosowania na uczestników konkursu Daj się poznać. Pozwalało ono na zagłosowanie tylko innym uczestnikom i dało mi 9 miejsce na 16:)

Jestem bardzo bardzo szczęśliwa i dziękuję wszystkim za oddane głosy!
Kiedy zaczynałam uczestnictwo w konkursie nijak nie przypuszczałam, że uda mi się dojść tak daleko. Naprawdę to wielka przygoda.

Teraz głosowanie zostało otwarte dla wszystkich chętnych i bardzo zachęcam do wsparcia mnie swoimi głosami:) Sprawicie mi tym jeszcze większą radość! Głosować można tutaj.

Ogłoszenie zwycięzców odbędzie się 18 czerwca na Oficjalnej Gali na którą oczywiście się wybieram! Mogą się na nią wybrać również osoby, które nie brały udziału w konkursie. Do zobaczenia!

Shopping Advisor – co dalej #dajsiepoznac

Dziś ostatni dzień konkursu Daj się poznać a ja nadal tu jestem! Napisanie „wygrałam, bo dotarłam aż tutaj” jest dość banalne, ale nie mogę się powstrzymać! Wygrałam! :) Bardzo się cieszę, że przez 3 miesiące udało mi się zmobilizować siebie na tyle, by bez względu na wszystko nie porzucać pracy nad aplikacją.

Nie ukrywam, iż na początku drogi obawiałam się kilku rzeczy.

Pierwsze i najważniejsze, co zaprzątało moją głowę, to myśl, że pomysł na aplikację jest głupi i nikt nigdy nie będzie chciał tego używać. No cóż – czy ktoś będzie chciał tego docelowo używać, to się okaże, ale sam pomysł został bardzo dobrze przyjęty i otrzymałam wiele głosów wsparcia za które bardzo dziękuję, gdyż napędzały mnie bardzo pozytywnie do pracy nad Shopping Advisor.

Kolejna rzecz – miałam pisać w Javie (ja, zatwardziały dotnetowiec od dziesięciu lat) a na dodatek miałam jeszcze pokazywać ludziom ten kod. O rany! Myślałam sobie, że jak tylko ktoś to zobaczy to objedzie mnie z góry na dół, że co ja tam nakodziłam. Tak się jednak nie stało. Jednak nie mam złudzeń – pewnie po prostu nikt się w ten kod aż tak bardzo nie zgłębiał, bo idealny na pewno nie jest:)

Ostatnia rzecz – trzy miesiące kodowania, trzy miesiące blogowania dwa razy w tygodniu. Jak, kiedy, o czym pisać i kto to w ogóle będzie chciał czytać? Owszem, bywały ciężkie tygodnie, kiedy to ciężko mi było jakoś zebrać myśli i opisać to nad czym pracuję. Z pracą też bywało różnie – bo nieraz cały tydzień miałam tak bardzo zajęty, że trzeba było nadrobić w weekend. Jednak praca nad własną aplikacją to zawsze duża satysfakcja.  Jak się okazało znaleźli się też czytelnicy:) Więc i było dla kogo pisać z czego bardzo się cieszę.

Co dalej?

Jeśli napiszę to publicznie, to będę musiała się tego trzymać, więc napiszę:) Planuję oczywiście dalszą pracę nad aplikacją, ponieważ bardzo niewiele jej brakuje do tego co chciałam osiągnąć i skoro zaszłam już tak daleko nie wyobrażam sobie jej porzucenia. Czekają mnie na pewno:

  • Dokończenie wizarda
  • Dopisanie brakujących testów do zmian, które ostatnio zrobiłam
  • Stworzenie filmiku, który umożliwi użytkownikom zapoznanie się z możliwościami
  • Stworzenie dwóch wersji językowych – na początek polskiej i angielskiej

To jest taki stan, jaki chciałabym osiągnąć przed wrzuceniem aplikacji do Google Play. Jeśli natomiast chodzi o pisanie bloga w związku z aplikacją, to myślę, że chciałabym ograniczyć się do jednego posta na tydzień lub dwa.

Czego się nauczyłam przez te trzy miesiące?

Oczywiście oprócz wiedzy w zakresie Android Studio i Javy zdobyłam też dość przydatną wiedzę o sobie – że jak chcę to mogę – potrafiłam bez problemu zmienić technologię i czuć się w niej dobrze. Co więcej – okazało się, że moje pomysły nie są takie głupie jak mi się czasem wydaje, że sama z siebie potrafię być skrupulatna, systematyczna i wytrwała. Tą ostatnią cechę ćwiczyłam już kiedyś na troszkę innym projekcie – również z sukcesem.
Kolejna rzecz, która wydarzyła się dzięki konkursowi, to wiele nowych blogów a tym samym osób zwróciło moją uwagę w internecie. Co więcej – społeczność jaka powstała wokół Daj się poznać uświadomiła mi jak wielu jest pasjonatów i jak wielu osobom się „chce”. Nie przestaje mnie to zadziwiać i napawa swego rodzaju dumą, że mam taki a nie inny zawód, gdzie jest tyle ambitnych i interesujących osób z którymi można się spotkać na różnego rodzaju wydarzeniach i konferencjach.

Wielkie podziękowania dla Maćka za zorganizowanie konkursu Daj się poznać, ponieważ była to jedna z najbardziej mobilizujących rzeczy jakie mi się ostatnio przytrafiły. Gdybym nie wzięła udziału, to mój projekt nadal by płakał w szufladzie wołając o moją uwagę:)