Niekiedy test jednostkowy sprawdza poprawność jakiegoś skomplikowanego algorytmu bądź parsera tekstu bądź czegokolwiek, co wymaga znacznych ilości danych. Zamiast umieszczać te dane w kodzie, niejednokrotnie wygodniej jest po prostu wrzucić je do pliku, plik dodać do projektu i ustawić jego właściwość "Copy to Output Directory" na Always. W normalnej sytuacji pobralibyśmy dane o tak: 1: string filePath = Path.Combine(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Locatio... [More]

Niedawno opublikowałem posta o tym, jak nie należy pisać testów jednostkowych. Przytoczony przykład powodował bezsensowną duplikację kodu w aplikacji i testach. Dzisiaj bardzo krótka demonstracja tego, jak można zastosować atrybut ValuesAttribute z NUnit 2.5 do wygenerowania testów dla więcej niż jednej wartości naraz. Testować będziemy klasę, która oblicza 22%-ową stawkę podatku VAT. Jej implementacja jest oczywiście banalna: 1: public class VatCalculator 2: { 3: public double... [More]

Resharper 4.5 gotowy

9 kwietnia 2009 08:43 w kategorii: pro
Tagi: ,
Wczoraj została udostępniona kolejna wersja tego mega narzędzia, o którym wielokrotnie pisałem. Tym razem największy nacisk położono na wyeliminowanie zarzutów, które pojawiały się pod adresem R# najczęściej. Chodzi o szybkość działania (czasami pozostawiała wiele do życzenia, szczególnie przy większych projektach) oraz pamięciożerność (podobno udało się pamięciowe łakomstwo toola zauważalnie poskromić). Oprócz tego dodano kilka nowych funkcjonalności, pełna lista na stronie “What’s new”. Czy w... [More]

Resharper 4.1 i MbUnit

19 lutego 2009 21:18 w kategorii: pro
Dziś miałem do czynienia z projektem, w którym do testów jednostkowych wykorzystano framework MbUnit. Oczywiście testy te zapragnąłem uruchomić za pomocą Resharpera (o którym napisałem już dużo). "Domyślnie" jednak zmuszeni jesteśmy buzię otworzyć i zrobić 'o-oo', gdyż R# potrafi obchodzić się jedynie z nUnit: Na szczęście ktoś mądry zauważył to niedociągnięcie i postanowił temu zaradzić. Tak powstała wtyczka do Resharpera: mbunit-resharper. Całość to mały plik .zip z kilkoma dllkami i batcha... [More]

Jesteśmy świadkami wydarzenia oczekiwanego na całym świecie, porównywalnego (no, trochę na wyrost:) ) z premierą VS2008, czyli Resharper 4.0! Z tej niezwykłej okazji zapraszam na trzecią, prawdopodobnie ostatnią i momentami odrobinę naciąganą, odsłonę cyklu "11 powodów do używania Resharpera". Dla przypomnienia: część 1, część 2. No to jadziem z dziadziem:1) Uruchamianie testów jednostkowychNiedawno miałem niewątpliwie szczęśliwą okazję wypróbować w żywym projekcie R# współgrającego z testami je... [More]

Kilka dni temu została wydana wersja beta R# 4.0. To doskonały moment, aby opublikować drugą odsłonę moich chrapliwych "ochów" i "achów" kierowanych pod adresem tej aplikacji (pierwsza odsłona tutaj).1) Kopiowanie komentarzyDokumentowanie kodu przy pomocy odpowiedniej składni xml to dobra praktyka (w granicach rozsądku). Niestety, w przypadku nadpisania już udokumentowanej metody, jedynym wyjściem na udokumentowanie nowej wersji jest copy/paste (jest jeszcze tag <inheritdoc />, ale jego za... [More]

Kolejny Top 11. Tak jak kiedyś zapowiedziałem - dzisiaj omówię największe moim zdaniem zalety cuda znanego jako Resharper. Jest to narzędzie oferujące niesamowite możliwości programistom, którzy są "TDD-enabled". Jaki odsetek deweloperów w Polsce ma jednak szczęście pracować w ten sposób? Niewielki...  Tak więc skupiam się głównie na cechach do wykorzystania przez każdego, od pierwszych chwil. Na cechy "TDD-specific" można by pewnie poświęcić cały osobny odcinek. Tak wieć zaczynajmy, jedno urzec... [More]