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...
Sztuka programowania 1880 dni, 12 godzin, 43 minuty temu 89 źrodło rozwiń
W jaki sposób mockować (za pomocą Moq) metody ze słowem kluczowym out? Przyjrzyjmy się bliżej problemowi…
Sztuka programowania 1891 dni, 12 godzin, 42 minuty temu 85 źrodło rozwiń
How to avoid common mocking issues and save a lot of typing with the help of Roslyn.
Dwa tygodnie temu opublikowałem wpis o bibliotece Fluent Assertions, która bardzo ułatwia pisanie assertów w testach (zachęcam pierw do przeczytania tamtego wpisu). Pokazałem jak korzystać z biblioteki oraz jak łatwo można rozszerzać możliwości biblioteki o własne metody. Dzisiaj natomiast pokaże Ci, jak testować kontrolery w ASP.NET MVC za pomocą rozszerzenia o nazwie FluentAssertions.MVC (https://github.com/fluentassertions/fluentassertions.mvc). Poćwiczymy r...
Na tapetę leci temat Mockowania – zewnętrznej biblioteki która pozwoli testować pojedyncze moduły w aplikacjach o wielkiej złożoności.
Sztuka programowania 2276 dni, 8 godzin, 57 minut temu 71 źrodło rozwiń
Słuchajcie mnie wszyscy bo jakoby ja, ten co wiedzę niesie, powołanie poczułem i głosił będę. Jak mówi jedna ze świetnych zasadach testów jednostkowych, każda klasa i metoda powinna być testowana w całkowitej izolacji. W szczególności, co pamiętać trzeba, bez wywoływania oprogramowania zewnętrznego, jak na przykład baz danych. Żarty żartami, ale zasada jest w 100% poważna. No i nie powstała bez powodu. No dobra, ale jak mamy ją zastosować, kiedy w naszej aplikacji wykorzystujemy bibliotekę .NET Core Ide...
Sztuka programowania 2332 dni, 3 godziny, 4 minuty temu 77 źrodło rozwiń
To, że testy trzeba pisać, jest chyba oczywiste. Czasami testy nie są jednak zbyt dobrze napisane. Warto więc na nie spojrzeć i je poprawić.
Sztuka programowania 2453 dni, 3 godziny, 10 minut temu 168 źrodło rozwiń
Koń czy tam testy jednostkowe – jakie są, każdy widzi. Nie? No dobra, nie do końca tak to działa, chodź sama idea testów jest dość prosta. Acz by dokładnie zagłębić się w tematykę skorzystamy ze źródła wiedzy, które pomogło uzyskać kilka milionów licencjatów i magistrów – wikipedii. Zgodnie z definicją powinniśmy je wykorzystywać do testowania najmniejszej części wytworzonego przez nas oprogramowania. Jednak postępowanie zgodnie z zasadami nie zawsze jest proste. Obecnie aplikację webowe składają się z w...
First bunch of features are done and it’s time to look at very important matter – security. As long as we create apps only for ourselves we don’t care about it. Sometimes we release one of those applications somewhere on the Internet and we still don’t care about security. Why? We forgot o...
Dotychczas nie pisałem testów (jakoś kod testowałem ręcznie) i odkrywam jak bardzo są pożyteczne. Po pierwsze i najważniejsze, umożliwiają wykrycie błędów w implementacji klas zanim zaczniemy ich używać. Tworząc nowy projekt testów w Visual Studio dostajemy MSTest, który nie działa pod Linuxem. W związku z tym sięgnąłem po NUnit.
Daj się poznać 2016 3090 dni, 11 godzin, 13 minut temu 164 ź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 3145 dni, 20 godzin, 12 minut temu 141 źrodło rozwiń
Posted on by MJ Po prawie rocznym okresie przerwy od pisania – potrzebowałem tego jak ryba wody, w międzyczasie udało mi się stworzyć kilka wideo tutoriali dla wydawnictwa Edugrafia i popracować nad kilkoma zewnętrznymi projektami (polecam) – wracam z tematem bardzo ważnym dla każdego programisty, czyli mocków...
Sztuka programowania 3206 dni, 9 godzin, 19 minut temu 255 ź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.
Sztuka programowania 3209 dni, 20 godzin, 24 minuty temu 94 ź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.
Sztuka programowania 3216 dni, 22 godziny, 6 minut temu 140 źrodło rozwiń
Zwykle używałem Moq w swoich projektach, ale ostatnio miałem do czynienia z NSubstitute i jego składnia dużo bardziej podoba mi się.
NSubstitute to (dla tych co nie znają jeszcze) taki Moq na sterydach. Sytuacja wygląda tak, mamy klasę, która potrzebuje jakiś zależności, mniej więcej tak: public class SomeClass { public SomeClass(INeedSomeStuff stuff) { // ....... } } public interface INeedSomeStuff { string DoSomeStuff(string param); void DoSomeOtherStuff(); } Możemy użyć moq i napisać: var moq = new Mock
Witajcie! zapraszamy Was na siódmy odcinek codingtv(); Dzisiaj przygotujemy serwis Blog – metody potrzebne do pobierania i zapisywania Bloga. Pokażemy również, jak tworzyć mocki z wykorzystaniem biblioteki Moq. Zgodnie z Waszymi uwagami zmieniamy również trochę strukturę katalogów w projekcie. Zapraszamy do oglądania i czekamy na Wasze komentarze!
Testowanie baz danych… a raczej kodu Marzec 31, 2011- autor: dotornot Dziś po oglądnięciu kolejnego świetnego odcinka na CodingTV, postanowiłem napisać aktualny post. Osobiście z niecałym dwuletnim stażem w programowaniu i zerowym doświadczeniem zawodowym (ach, nie mogę się doczekać do 4.04 ), jestem pełen podziwu dla roboty, którą wykonują. Panowie w dzisiejszym odcinku mieli problem z testowaniem baz danych, a raczej dostępu do niej. Ja chcę tutaj przedstawić sposób w jaki ja to robię. ...
Reflector, a jednak się przydał Wykorzystanie aplikacji reflector wraz z asp.net mvc oraz nunit.
[RS] Lets Moq! Moq to biblioteka służący do tzw. mockowania lub inaczej zaślepiania obiektów na potrzeby testów jednostkowych. Zaślepianie polega na wygenerowaniu obiektu implementującego określony interfejsu, w którym metody zamiast wykonywać skomplikowane operacje np. dostępu do bazy danych zwracają po prostu z góry ustalone obiekty lub wartości. Taką zaślepkę przekazujemy do testowanego obiektu w miejsce oryginalnej implementacji. Umożliwia to prostsze i szybsze testowanie interesującego nas kawałka ...