Wstęp do pisania testów jednostkowych w .NET
Sztuka programowania 235 dni, 21 godzin, 45 minut temu 139 źrodło rozwiń
Witam w kolejnym odcinku cyklu poświęconego programistycznym wzorcom projektowym stosowanych przy tworzeniu aplikacji na platformie… No właśnie, jeszcze dwa lata temu w tytule tego tekstu znalazłby się „Dynamics CRM”. Gdyby artykuł powstał w zeszłym roku – informowałby z kolei o aplikacjach powstających na platformie „Dynamics 365 Customer Engagemen...
Sztuka programowania 349 dni, 21 godzin, 47 minut temu 64 źrodło rozwiń
Jestem właśnie w trakcie lektury książki „Testy jednostkowe” Roya Osherove. Jest w niej ciekawy rozdział dotyczący frameworków izolacji i ich typów.
Sztuka programowania 559 dni, 21 godzin, 59 minut temu 134 źrodło rozwiń
Dzięki artykułowi dowiesz się wszystkiego co trzeba wiedzieć o typach testów w projekcie - jakie mamy poziomy testów oraz jakie cele spełniają.
Sztuka programowania 662 dni, 22 godziny, 20 minut temu 130 źrodło rozwiń
Tym razem jednak skupiliśmy się na definicji kilku dobrych praktyk wspomagających tworzenie testów jednostkowych. Takich testów, które dobrze weryfikują implementacje, zapewniają jakość oraz łatwo jest je utrzymywać. Jakie dobre praktyki warto stosować podczas pisania testów jednostkowych? Wśród popularnych aspektów jak zasady FIRST czy grupowanie implementacji testu w trzy grupy – Given, When, Then pojawiły się także inne warte uwagi techniki. Jesteś ciekawy jakie? To serdecznie zapraszam Cię do odsłu...
Sztuka programowania 708 dni, 21 godzin, 43 minuty temu 108 źrodło rozwiń
Wracamy do postów technicznych - i to z przytupem! Słyszeliście o różnych bibliotekach do testowania? Jedną z wartych uwagi bibliotek jest FluentAssertions - w poście szczegóły, czemu akurat ją warto wybrać.
Sztuka programowania 778 dni, 19 godzin, 54 minuty temu 62 źrodło rozwiń
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...
W ostatnim wpisie poruszyłem temat testowania i w dzisiejszym wpisie zostaniemy przy tym temacie. O ile z testowaniem warstwy logiki biznesowej na ogół nie mamy problemów, to już dużo gorzej wygląda to z warstwą dostępu do danych. Entity Framework z pudełka nie umożliwia prostego pisania testów jednostkowych. Są różne rozwiązania tego problemu. Część osób idzie tak naprawdę w testy integracyjne i wykonuje zapytania na realnej bazie. Część osób korzysta z baz da...
Bazy danych i XML 789 dni, 19 godzin, 55 minut temu 193 źrodło rozwiń
Testy jednostkowe oraz testy integracyjne potrafią bardzo ułatwić wyłapywanie błędów podczas tworzenie aplikacji (w szczególności błędów regresji). Dlatego na ogół bardzo chcemy je dodać do aplikacji, ale niestety często spotykamy się z oporem „góry”, bo pisanie testów zajmuje dużo czasu. Z doświadczenie zauważyłem, że jednym z powodów wydłużania czasu pisania testów są rozbudowane asserty. Dlatego w dzisiejszym wpisie chce Ci pokazać bibliotekę Fluent Asserti...
Ćwiczenia czynią mistrza, ale jak zacząć? Wczuj się w sytuacje, mamy końcówkę Czerwca, masz wiele lat komercyjnego doświadczenia, szef mianował Cię na mentorkę/mentora grupy praktykantów/stażystów. Przychodzisz do Pracy w pierwszy dzień roboczy Lipca, na końcu korytarza widzisz nowe twarze, czeka już na Ciebie grupa ambitnych praktykantów/praktykantek kierunku Informatyka, lub pokrewnego. Po wstępnej rozmowie z grupą studentów/studentek 2-3 roku studiów dowiadujesz się od nich, że o testach jednostkowyc...
Sztuka programowania 936 dni, 21 godzin, 9 minut temu 124 źrodło rozwiń
W poprzednich dwóch postach (Postal – wysyłka email w ASP.NET MVC oraz Hangfire – wysyłka email w tle) pokazałem jak wysyłać wiadomości email w aplikacji ASP.NET MVC. Jeśli nie czytałeś/czytałaś tamtym wpisów, to zachęcam do nadrobienia lektury, szczególnie, że w tym wpisie będę bazował na kodzie, z tamtych wpisów. W dzisiejszym poście chciałbym jeszcze pozostać przy tej tematyce i pokaże Ci, w jaki sposób można automatycznie testować kod odpowiedzialny za wysy...
Pierwszy raz próbując napisać test jednostkowy dla metody wykorzystującej strukturę DateTime napotykamy na problem z odczytem aktualnego czasu z statycznych właściwości (UtcNow, Now, Today) struktury DateTime. Artykuł prezentuje możliwe rozwiązania powyższego problemu.
Sztuka programowania 1071 dni, 12 godzin, 47 minut temu 191 źrodło rozwiń
Na podstawie swojego doświadczenia i wiedzy przedstawiam dobre praktyki, które stosuję by testy jednostkowe były wiarygodne, łatwe w utrzymaniu i czytelne dla innych programistek/programistów w zespole.
Sztuka programowania 1091 dni, 20 godzin, 41 minut temu 285 źrodło rozwiń
W aplikacji będącej aktualnie moim głównym zajęciem piszę oraz uczę się testów jednostkowych. Dlatego postanowiłem, że co nieco o nich napiszę jako wstępniak do być może późniejszych wpisów na ten temat.
Sztuka programowania 1116 dni, 20 godzin, 58 minut temu 189 źrodło rozwiń
Testy jednostkowe z wykorzystaniem frameworka NUnit w projekcie tworzonym w ramach konkursu Daj Się Poznać 2017. Dlaczego warto stosować testy? Przykład na podstawie klasy do obliczania całek metodą trapezów.
Daj się poznać 2017 1404 dni, 20 godzin, 20 minut temu 92 ź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 1460 dni, 6 godzin, 54 minuty temu 162 źrodło rozwiń
~ MJ Jakoś na początku tego roku miałem prezentację na wrocławskiej grupie .NET dotyczącą unit testingu. Muszę powiedzieć, że byłem bardzo pozytywnie zaskoczony liczbą obecnych osób, co tylko pokazuje, jak ważne są dla nas testy jednostkowe (albo chcemy, żeby stały się ważne)🙂
Sztuka programowania 1502 dni, 21 godzin, 9 minut temu 202 źrodło rozwiń
~ MJ Jasmine – behaviour driven develeopment framework służący do testowania kodu napisanego w javascripcie: Jasmine
Często logika zawarta w procedurach jest dość skomplikowana. W zależności od projektu, może okazać się, że potrzebujemy testów jednostkowych. Dzięki tSQLt możemy testować tSQL w analogiczny sposób do nUnit+moq, czyli:Dane po wykonaniu testu są usuwane. Każdy test jest wykonywany w transakcji. Nie musimy się zatem martwić, że testując coś będziemy zaśmiecać bazę danych.Każdy element może być odizolowany, czyli możemy stworzyć mock dla tabeli, procedury lu...
Bazy danych i XML 1801 dni, 16 godzin, 57 minut temu 206 źrodło rozwiń
IntelliTest to wewnętrzna funkcjonalność Visual Studio (Enterprise 2015), która służy do generowania tabeli danych wejściowych oraz zestawu testów jednostkowych. Dla danej metody generowane są dane wejściowe, w oparciu których mogą zostać wygenerowane testy jednostkowe. Przypadki testowe tworzone są w oparciu o analizę każdego skoku warunkowego (conditional branch). Co więcej, tabela przypadków testowych zawi...