Strona głównaUżytkownik

dariuszwozniak | użytkownik

dariuszwozniak
dariuszwozniak
1 742,45
160 dni, 12 godzin, 36 minut temu
21 kwietnia, 2013
dotnetomaniak.pl

In some cases, there are classes with constructors that are impossible to mock with proxy-based mocking frameworks (such as Moq, FakeItEasy, NSubstitute, etc). In this article, I will present how to create a test for class that is impossible to mock. Some constructors might be difficult or even impossible to mock because of:There&##x27;s...

Dziel się z innymi:
How to test a class that has constructor impossible to mock? | Dariusz Woźniak | Blog

Sztuka programowania czwartek, 9 listopada 2023 17:52:16 GMT dariuszwozniak 3 spam? źrodło rozwiń

Is catch the same as catch(Exception)? Not exactly. There is a small subtle nuance that causes catch(Exception) to be not hit. Chances that it happen are, however, close to zero very close to zero. According to the CLR via C# book (Richter, 2012): All programming languages for the CLR must support the throwing of Exception-derived objects because the Common Language Specification (CLS) mandates thi...

Dziel się z innymi:
Is catch the same as catch(Exception)? Well, not exactly... | Dariusz Woźniak Blog

Inne niedziela, 5 listopada 2023 14:58:59 GMT dariuszwozniak 1 spam? źrodło rozwiń

Scrutor to sprytna biblioteka, która pozwala na automatyczną rejestrację zależności (dependency injection) dla kontenera IOC Microsoft.Extensions.DependencyInjection. Ideą biblioteki Scrutor jest skanowanie kodu źródłowego, np. assembly, celem automatycznej rejestracji zależności wedle zadanych przez nas reguł.

Scrutor — automatyczna rejestracja zależności (dependency injection) - Dariusz Woźniak — Blog

Narzędzia 892 dni, 13 godzin, 56 minut temu dariuszwozniak 74 źrodło rozwiń

W testach bardzo często mamy do czynienia z powtarzaniem tego samego kodu. Tak samo ma się sprawa z testowaniem null-checków (zw. inaczej jako guard clauses) w konstruktorach. Jeśli chcemy napisać test dla takiego przypadku, to zazwyczaj jest on napisany jako osobna metoda. Jak możemy sobie uprościć życie? Z pomocą przychodzi biblioteka AutoFixture.Idioms. Aby móc skorzystać z funkcji do automatycznego testowania null-checków w konstruktorach, potrzebujemy zainstalować dwa nugety:AutoFixture.Idi...

Tagi: Moq, TDD
Dziel się z innymi:
Automatyczne testowanie guard clauses w konstruktorach - Dariusz Woźniak — Blog

Sztuka programowania 1685 dni, 15 godzin, 59 minut temu dariuszwozniak 85 źrodło rozwiń

W jaki sposób mockować (za pomocą Moq) metody ze słowem kluczowym out? Przyjrzyjmy się bliżej problemowi…

Tagi: Moq, TDD
Dziel się z innymi:
Mockowanie out - Dariusz Woźniak — Blog

Sztuka programowania 1696 dni, 15 godzin, 58 minut temu dariuszwozniak 83 ź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.

Dziel się z innymi:
Assert.Multiple | DariuszWozniak .NET

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...

Tagi: TDD
Dziel się z innymi:
TDD: Technika, metoda, metodologia czy metodyka? | DariuszWoźniak .NET

Sztuka programowania 2685 dni, 9 godzin, 35 minut temu dariuszwozniak 76 źrodło rozwiń

Jeśli estymacja czasowa nie sprawdza się w naszym projekcie (co jest wielce prawdopodobne w przypadku oprogramowania), to możemy się posłużyć estymacją relatywną. Wielkość relatywna ma, w przeciwieństwie do estymaty bezwzględnej (najczęściej czasowej), ogromną przewagę, gdyż: Minimalizuje błędy związane z przewidywaniem czasu poświęconego na złożone i skomplikowane zadania...

Dziel się z innymi:
Estymacja: Czym są Story Pointy? | DariuszWoźniak .NET

Sztuka programowania 2689 dni, 14 godzin, 48 minut temu dariuszwozniak 156 źrodło rozwiń

Estymacja, czyli szacowanie projektu programistycznego to bardzo często bolączka każdego zespołu. Czego użyć do szacowania naszego projektu:estymat godzinowych,roboczodniowych,Story Pointów,koszulkowych,a może w ogóle nie korzystać z estymat #noestimates #yolo? Postaram się przedstawić sposoby or...

Tagi: Agile, estimate
Dziel się z innymi:
Estymacja czasowa/godzinowa (oraz Cynefin Framework, PERT) | DariuszWoźniak .NET

Sztuka programowania 2705 dni, 12 godzin, 30 minut temu dariuszwozniak 149 ź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.

Tagi: TDD
Dziel się z innymi:
Kurs TDD cz. 25: Otwarte pytania

Sztuka programowania 2770 dni, 16 godzin, 4 minuty temu dariuszwozniak 145 ź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...

Tagi: TDD
Dziel się z innymi:
Kurs TDD cz. 24: Czy pisać testy jednostkowe do istniejącego kodu (legacy code)? | DariuszWoźniak .NET

Sztuka programowania 2795 dni, 16 godzin, 1 minutę temu dariuszwozniak 224 ź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”.

Tagi: TDD
Dziel się z innymi:
Kurs TDD cz. 23: Czy to się opłaca? | DariuszWoźniak .NET

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...

Dziel się z innymi:
Kurs TDD cz. 22: Pokrycie kodu testami (Code Coverage) | DariuszWoźniak .NET

Sztuka programowania 2865 dni, 15 godzin, 14 minut temu dariuszwozniak 147 ź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...

Tagi: TDD
Dziel się z innymi:
Kurs TDD cz. 21: Rodzaje frameworków do tworzenia atrap | DariuszWoźniak .NET

Sztuka programowania 2928 dni, 14 godzin, 41 minut temu dariuszwozniak 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.

Tagi: TDD
Dziel się z innymi:
Kurs TDD cz. 20: Mockowanie DateTime.Now, random, static, itp. | DariuszWoźniak .NET

Sztuka programowania 2945 dni, 14 godzin, 53 minuty temu dariuszwozniak 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...

Tagi: Moq, TDD
Dziel się z innymi:
Kurs TDD cz. 19: Mock, stub, fake, spy, dummy | DariuszWoźniak .NET

Sztuka programowania 2950 dni, 23 godziny, 28 minut temu dariuszwozniak 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.

Tagi: nsubstitute, TDD
Dziel się z innymi:
Kurs TDD cz. 18: NSubstitute | DariuszWoźniak .NET

Narzędzia 2975 dni, 8 godzin, 19 minut temu dariuszwozniak 166 źrodło rozwiń

Dziś w kursie TDD przyjrzymy się frameworkowi do tworzenia atrap, konkurencyjnemu do wcześniej poznanego Moq. FakeItEasy, bo o nim mowa, jest darmowy, łatwy w nauce, ma wsparcie dla C# i VB.NET, różni się od innych bibliotek nie tylko semantyką, ale także nieco innym podejściem do tematu tworzenia atrap.

Tagi: fake, fakeiteasy, TDD
Dziel się z innymi:
Kurs TDD cz. 17: FakeItEasy | DariuszWoźniak .NET

Narzędzia 2979 dni, 14 godzin, 10 minut temu dariuszwozniak 127 źrodło rozwiń

W tym artykule przyjrzymy się ciut bardziej zaawansowanym technikom tworzenia atrap przy pomocy Moq: argument matching, verify, callback. Wszystkie przykłady zostaną zaprezentowane przy użyciu Moq, jednak konkurencyjne frameworki w zakresie niewiele się różnią w zakresie tych technik.

Tagi: Moq, TDD
Dziel się z innymi:
Kurs TDD cz. 16 – Moq cz. 2: Argument Matching, Verify, Callback | DariuszWoźniak .NET

Sztuka programowania 3014 dni, 23 godziny, 41 minut temu dariuszwozniak 91 źrodło rozwiń

Moq to najpopularniejszy framework do tworzenia atrap w .NET. W tej części kursu poznamy jego składnię i podstawowe możliwości.

Tagi: Moq, TDD
Dziel się z innymi:
Kurs TDD cz. 15: Wstęp do Moq | DariuszWoźniak .NET

Sztuka programowania 3022 dni, 1 godzinę, 23 minuty temu dariuszwozniak 137 źrodło rozwiń

1 2 3

Najaktywniejsi w tym miesiącu