Programisto, testerze i Ty drogi biznesie IT! O tym, co to są testy jednostkowe i dlaczego warto traktować je poważnie opowie Robert “Wujek Bob” Martin.
Sztuka programowania 2702 dni, 5 godzin, 17 minut temu 153 źrodło rozwiń
NUnit w wersji 3.6 wprowadził dość ciekawą funkcję – Assert.Multiple. Dzięki niej, dostajemy informacje na temat wszystkich testów, które nie przeszły. Przyjrzyjmy się temu bliżej… Do tej pory, używając kilku asercji naraz, jedna niespełniona asercja powodowała, że dalszy kod nie jest wykonywany.
Sztuka programowania 2854 dni, 12 godzin, 37 minut temu 163 źrodło rozwiń
Test-Driven Development pojawia się w kontekstach :techniki,metody,metodologii i metodyki. Które z tych określeń poprawnie definiuje TDD? Zacznijmy od definicji poszczególnych pojęć: technika: (1) «wiedza na temat praktycznego wykorzystania osiągnięć nauki w przemyśle, transporcie, medycynie itp.; też: praktyczne wykorzystanie tej wiedzy» (2) «metoda» metoda: «świadomie stosowany sposób postępowani...
Sztuka programowania 2892 dni, 21 godzin, 39 minut temu 77 źrodło rozwiń
Every experienced developer knows how important is to cover your code with tests (or at least business logic). However, not everyone likes to do that once code is already written, because, why should we do that? The work is done, it was tested and it functions correctly, right? I never liked to cover the code with tests once it’s already there. That’s why in this article I’ll present TDD and describe how I use it day to day.
Sztuka programowania 2918 dni, 55 minut temu 96 źrodło rozwiń
Ile razy widziałeś już kata dotyczące TDD? Z pewnością wiele. Za każdym razem przy użyciu NUnita, XUnita, MSpeca.. ale czemu nie spróbować tego samego przy użyciu FsChecka, który wymusza trochę inne myślenie o/podejście do implementacji testowanej metody? Właśnie o tym jest artykuł, krótkie Kata przy użyciu FsCheck i C#/F#. Zachęcam do lektury :)
Sztuka programowania 2941 dni, 23 minuty temu 145 źrodło rozwiń
Na przykładzie programu rozpoznającego waluty. Postarałem się pokazać jak łatwiejsza jest refaktoryzacja kodu przy użyciu TDD.
Sztuka programowania 2950 dni, 16 godzin, 50 minut temu 112 źrodło rozwiń
Sztuka programowania 2964 dni, 4 godziny, 14 minut temu 255 źrodło rozwiń
To już ostatnia część kursu TDD (przed podsumowaniem) na tym blogu. Tym razem, formuła artykułu jest odmienna. Zamiast przedstawiać dane zagadnienie, to ja pytam Ciebie, czytelniku, o TDD… Jeśli uczysz się TDD, to warto przed wygooglowaniem odpowiedzi zastanowić się nad każdym z tych punktów i postarać się odpowiedzieć na pytanie.
Sztuka programowania 2978 dni, 4 godziny, 8 minut temu 146 źrodło rozwiń
I haven’t publish any book review for a while. It does not mean I am not reading books anymore. I just didn’t feel that some of the books I read recently requires my recommendation, or I didn’t have any thoughts that I needed necessary to share right now. I have added a few books to my favorite books list though. Check them out! Working Effectively with Legacy Code deserves blog post because of a few reasons...
Sztuka programowania 2983 dni, 4 godziny, 25 minut temu 154 źrodło rozwiń
Najprawdopodobniej spotkałeś się z tym problemem: Kod zastany, napisany przez nas lub nie, na pewno nie perfekcyjny i ostatecznie bez testów jednostkowych (ang. legacy code). Co teraz? Wstrzymać dotychczasowe prace nad projektem i pisać testy jednostkowe? A może całkowicie zaniechać pisania testów, bo skoro nigdy nie było testów, to po co pisać je teraz? Do tej pory omawialiśmy TDD z perspektywy pisania...
Sztuka programowania 3003 dni, 4 godziny, 5 minut temu 224 źrodło rozwiń
Behavior Driven Development – dosyć niedawno nawet słyszałem, że to Test Driven Development Done Right 🙂 Co, jak, czemu i po co? Czytaj by się dowiedzieć jak ja to widzę :)
Sztuka programowania 3016 dni, 3 godziny, 6 minut temu 222 źrodło rozwiń
Niedawno zacząłem praktyki, gdzie biorę udział w eksperymencie porównania 3 metodyk pisania oprogramowania: TDD, ITL i NUT. TDD spodobało mi się szczególnie, więc postanowiłem napisać tego posta i pokazać przykładowy workflow w TDD.
Sztuka programowania 3027 dni, 22 godziny, 47 minut temu 288 źrodło rozwiń
Test-Driven Development ma niezaprzeczalnie bardzo pokaźną liczbę zalet jednak jednym z problemów stojących na przeszkodzie we wdrożeniu i stosowaniu tej metodologii jest fakt, że pisanie testów jednostkowych wymaga większego nakładu czasowego programisty. Nie licząc czasu na zmianę sposobu myślenia oraz naukę zespołu, pisanie testów jednostkowych może trwać nawet dwukrotnie dłużej niż w sposób „beztestowy”.
Sztuka programowania 3041 dni, 12 godzin, 27 minut temu 198 źrodło rozwiń
Zarówno o BDD, jak i TDD wiele razy już pisałem. Najważniejszą rzeczą w TDD jest sekwencja red-green-refactor. Zwykle BDD\TDD przybiera następującą postać: Zaczynamy od etapu BDD. Definiujemy wymagania za pomocą języka rozumianego zarówno przez programistów jak i jak BA\PO. Za pomocą Specflow możemy zdefiniować np. następujący test: Given I have entered 50 into the calculator And I have entered 70 into the calculator When I press add Then 120 sho...
Sztuka programowania 3045 dni, 2 godziny, 54 minuty temu 134 źrodło rozwiń
Pokrycie kodu (ang. code coverage) testami to:(liczba wyrażeń pokrytych testami) / (liczba wszystkich wyrażeń) * 100% Innymi słowy, jest to procentowy współczynnik pokrycia kodu testami. Pokrycie kodu najczęściej mierzy się badając liczbę wyrażeń (ang. statements), choć niekiedy spotkać się można z pokryciem kodu opartym o: – ilość linii kodu, – ilość branchy (branch coverage), – ilość stanów (condition...
Sztuka programowania 3073 dni, 3 godziny, 17 minut temu 147 źrodło rozwiń
In 2014, Internets went loud after Erik Meijer’s talk One Hacker Way. I really liked this talk, because it made me think…actually even until today I didn’t figure out everything Erik meant. Unfortunately, most of people didn’t understand this talk. In 2015, he gave the same talk again, but the rhetoric was way different. It’s more straight forward, and probably more people understood it. tl;dr This talk is about approach to software engineering...
Sztuka programowania 3111 dni, 2 godziny, 34 minuty temu 107 źrodło rozwiń
Rodzaje framerków do tworzenia atrap możemy podzielić na dwie kategorie:constrained (z ang. ograniczony)unconstrained (nieograniczony) Do pierwszej kategorii zaliczamy wszystkie do tej pory poznane frameworki do tworzenia atrap – Moq, FakeItEasy, NSubstite – a także Rhino Mocks, NMock oraz EasyMock. Ich cechą charakterystyczną jest ograniczona możliwość tworzenia atrap. Biblioteki te generują kod dziedzicząc...
Sztuka programowania 3136 dni, 2 godziny, 45 minut temu 150 źrodło rozwiń
Jedną z największych trudności dla osoby zaczynającej przygodę z testami jednostkowymi są: Metody i klasy static. Niederministyczne lub/i niepowtarzalne zależności.
Sztuka programowania 3153 dni, 2 godziny, 56 minut temu 133 źrodło rozwiń
Nomenklatura w świecie TDD, a w szczególności ta dotycząca tworzenia atrap, jest źródłem wielu niejasności. Powodem takiego stanu jest fakt, że definicje różnią się w zależności od źródła, tj. książki, lub frameworka. W poprzednich częściach poznaliśmy trzy najbardziej popularne frameworki do tworzenia atrap dla .NET, dla których...
Sztuka programowania 3158 dni, 11 godzin, 32 minuty temu 141 źrodło rozwiń
Pora przyjrzeć się trzeciemu najpopularniejszemu darmowemu frameworkowi, obok Moq i FakeItEasy, do tworzenia atrap w .NET – NSubstitute. Co wyróżnia tę bibliotekę:Główny nacisk położono na prostotę w semantyce. Składnia biblioteki ma w założeniu jak najbardziej przypominać naturalny język. Ilość wyrażeń lambda została zredukowana do minimum.