Dzisiaj opublikowałem małą poradę o tym jak ustawiać zmienne globalne w testach przy pomocy XUnit. Może to być pomocne, jeśli przeprowadzasz testy integracji API dla aplikacji korzystającej z Marten. Dołączyłem również małą tyradę na temat frameworków testowych .NET.
It's time to take a look at the code smells we can encounter while writing unit tests. Let's start with interacting tests. Enjoy reading 😁
Sztuka programowania 1141 dni, 23 godziny, 18 minut temu 80 źrodło rozwiń
Setting up the test matrix in XUnit is not so easy as it might seem. This summarises my struggles with adding System.Text.Json support to Marten and setting our test matrix to run the whole test suite for both serialisers.
Sztuka programowania 1367 dni, 22 godziny, 18 minut temu 51 źrodło rozwiń
Testy integracyjne stanowią ważną część naszego systemu. Pozwalają zweryfikować naszą aplikację w szerokim kontekście, włączając w to infrastrukturę. Testy kontrolerów zapewniają nam poprawne działanie warstwy wejściowej do naszej aplikacji.
Sztuka programowania 1437 dni, 21 godzin, 52 minuty temu 122 ź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...
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...
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 2344 dni, 14 godzin, 39 minut temu 77 źrodło rozwiń
Pomysł na ten wpis jest taki, że na początek, napiszę testy jednostkowe, które będą palić się na czerwono, w których zdefiniuje problem. Testy zapalę na zielono poprzez implementację wzorca Adapter. Adapter przekształca interfejs klas na inny, oczekiwany przez klienta. Adapter umożliwia współdziałanie klasom, które z uwagi na niezgodne interfejsy standardowo nie mogą ...
Sztuka programowania 2416 dni, 21 godzin, 50 minut temu 174 źrodło rozwiń
Mówisz, że Twój kod działa, ale czy na pewno jesteś tego pewny? Sprawdź jak pisać testy integracyjne kontrolerów dla ASP.NET Core Web API.
Sztuka programowania 2430 dni, 12 godzin, 4 minuty temu 245 źrodło rozwiń
In my last post, I wrote about great HTTP client for .NET Core called RestEase and I showed how to use it as a simple proxy between API Gateway and microservice. Today I’ll present how this library can also simplify writing part of integration tests. Unit test vs integration test I assume that for some of you the term „integration test” may sounds odd, therefore I’d like to explain it first to avoid the possible confusion with a unit test later in this artic...
Sztuka programowania 2491 dni, 23 godziny, 11 minut temu 152 ź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...
Testy jednostkowe – temat rzeka. W każdej technologii, z którą miałem do czynienia, jednym z ważniejszych tematów były testy jednostkowe. Powstała już cała masa artykułów opisujących dobre praktyki czy różnego typu metodyki takie jak TDD lub BDD. Wspominając swoje początki, gdy odpalając kod nie wiedziałem czy się odpali i dlaczego nie, zrozumiałem, jak słaby nacisk w procesie edukacji kładzie się na testowanie oprogramowania. Pragnąc nieść kaganek oświaty chciałbym dołożyć swoją cegiełkę i przedstawić w...
Sztuka programowania 2621 dni, 2 godziny temu 159 źrodło rozwiń
Ciąg dalszy cyklu o xUnit, oraz testowaniu aplikacji mobilnych w Xamarin.Forms. Dzisiaj chciałbym omówić zastosowanie, oraz pokazać parę przykładów użycia Theory.xUnit Theory: Jak używać InlineData, ClassData oraz MemberDataCzym jest Theory Testy z atrybutem Theory umożliwiają nam przekazanie jako parametr danych wejściowych (może to być również kolekcja parametrów). Natomiast ich wynik jest poprawny tylko dla konkretnych dany wejściowych, czyli za jednym zamachem możemy przetestować ...
Daj się poznać 2017 2754 dni, 14 godzin, 17 minut temu 102 źrodło rozwiń
Test-Driven Development jest tzw. dobrą praktyką programistyczną dzisiaj chciałbym przedstawić jak zacząć pisać testy z użyciem xUnit. Wszystko omówię na przykładzie aplikacji 10Things tworzonej w Xamarin Forms.Test-Driven Development – Wprowadzenie Według definicji z Wikipedia jest to Test-driven development (TDD) – technika tworzenia oprogramowania, zaliczana do metodyk zwinnych. Pierwotnie była częścią programowania ekstremalnego (ang. extreme programming), lecz obecnie stanowi samo...
Daj się poznać 2017 2790 dni, 22 godziny, 18 minut temu 107 źrodło rozwiń
Chciałbyś zaznajomić się z F#? Nie masz pomysłu co mógłbyś w nim zrobić? Czemu nie zacząć od testów? Post pokazuje jak w prosty sposób można przepisać istniejące testy z C# na F#. Zapraszam do lektury :)
Sztuka programowania 2940 dni, 20 godzin, 38 minut temu 43 źrodło rozwiń
Cześć! Dziś wpis, który powstał przez przypadek. Jak mawia stare chińskie przysłowie: There are only two hard things in Computer Science: cache invalidation and naming things. Taaaak, każdy to zna 😉 Pytania o to jak nazwać zmienną, metodę czy klasę to standard jeśli chodzi o programowanie. Wynika to z kilku rzeczy. Po pierwsze chcemy mieć pewność, że nazwa dokładnie oddaje istotę danego „bytu”, po drugie każdy ma swoje standardy nazewnictwa, które mogą nie być tak oczywiste dla innych jak dla n...
Daj się poznać 2016 3124 dni, 22 godziny, 17 minut temu 147 źrodło rozwiń
Specflow fajny jest, piszemy scenariusze czytelne dla ludzi a pod spodem szaleje xunit i sprawdza. Jest tylko jedne problem, aktualnie specflow.xunit instaluje xunit 2.0 a do pliku .feature.cs generuje kod...