Właśnie wystartowały zapisy do programu Szkoła Testów Jednostkowych. Jest to praktyczne szkolenie dla Młodszych Programistów C#/.NET w którym pokaże Ci jak testować aplikacje stworzone w C#. Szkoła Testów Jednostkowych pomoże Ci jeśli: Chcesz nauczyć się pisać testy jednostkowe w aplikacjach stworzonych w C# na platformie .NET. Jesteś lub chcesz być Młodszym Programistą C#/.NET. Chcesz pisać lepszej jakości kod. Chcesz mieć mniej błędów na w swoich aplikacjach C#. Chcesz mieć zadowolonych klientów. Chcesz nauczyć się pisać [...]
W tym artykule chciałem Ci opowiedzieć o bibliotece, dzięki której możesz polepszyć swoje testy jednostkowe w C#. Chodzi o bibliotekę FluentAssertions, która udostępnia nam dużo metod rozszerzających, dzięki którym możemy pisać lepsze, tak zwane płynne asercje. Na początek zapoznaj się, proszę z klasą ProductService. Głównie interesuje nas tutaj metoda Add, która jeżeli produkt jest dostępny, to dodaje go do listy. Mamy już też napisany test do tej metody. Test przechodzi, wszystko jest w porządku, ale przyjrzyjmy się naszej asercji. Czy ona jest czytelna? Czy wiesz, jaki jest pierwszy parametr metody [...]
Pisanie dobrych testów jednostkowych nie jest łatwe. W szczególności pierwsze testy mogą sprawiać Ci trochę trudności, także, aby Ci pomóc, chciałem Ci przedstawić 7 moim zdaniem najczęstszych błędów początkujących podczas pisania testów jednostkowych, których powinieneś unikać. 1) Złe nazewnictwo metod testowych. Przygotowałem prostą metodę, która sprawdza, czy podany rok jest rokiem przestępnym. Jeżeli tak, to metoda zwraca true, a jeżeli nie, to false. Do tej metody napisałem również przykładowy test jednostkowy. Nazwa metody w klasie testowej jest taka sama jak, w klasie [...]
Często słyszę pytanie, na temat tego, czy powinno się pisać testy jednostkowe do metod prywatnych lub chronionych? Albo jak testować metody prywatne w C#. Dzisiaj postaram się krótko odpowiedzieć na te pytania. Aby łatwiej było zrozumieć Ci ten problem, przedstawię go na łatwym przykładzie. Jak Testować Metody Prywatne. Jest kilka popularnych sposobów do testowania metod prywatnych. Można po prostu zmienić modyfikator dostępu takiej metody, wtedy od razu ta metoda będzie widoczna w teście. Jednak nie jest to zazwyczaj dobre rozwiązanie, bo skoro dana metoda ma [...]
Test Driven Development w skrócie TDD, czyli tworzenie oprogramowania sterowane testami. To znaczy, tak jakby testy sterują naszym kodem, który dopiero będziemy pisać. Myślę, że TDD obiło się o uszy każdemu programiście, lecz mało z nich próbowało pisać oprogramowanie, stosując to podejście. Aby zacząć pisać zgodnie z TDD, najpierw trzeba nauczyć się pisać testy jednostkowe, jeżeli nie pisałeś wcześniej żadnych testów, to spróbuj najpierw zapoznać się z artykułem na temat testów jednostkowych, a następnie wróć do tego tematu :) Są dwie techniki pisania testów jednostkowych. Możesz [...]
Dzisiaj poruszę bardzo ważny temat, bez którego znajomości, nie nauczysz się pisać dobrych testów jednostkowych. Jak przeczytałeś już w poprzednich artykułach, testy jednostkowe nie powinny dotykać zewnętrznych zasobów. Jak w takim razie testować logikę w metodach, które mają odwołanie do zasobów zewnętrznych? Trzeba użyć sztucznych obiektów, tak zwanych mocków. Co to jest mockowanie? Mockowanie, czyli naśladowanie czegoś, jakiegoś zachowania. W polskim tłumaczeniu można się spotkać z różnymi tłumaczeniami słowa mock, między innymi makieta, ja jednak będę używał po [...]
W poprzednim artykule na blogu wprowadziłem Cię do testów automatycznych. Jeżeli jeszcze go nie czytałeś, koniecznie zapoznaj się z nim, zanim przejdziesz do tego artykułu. Testy jednostkowe (unit tests), są właśnie jednym z typów testów automatycznych. W tym artykule najpierw opowiem Ci trochę o testach jednostkowych w teorii, powiem Ci jakie powinny być dobre testy jednostkowe, a następnie napiszemy pierwszy test jednostkowy, a później kolejne. Zaczynajmy! Czym są testy jednostkowe? Zacznijmy od teorii. Testy jednostkowe są to małe kawałki kodu, które służą [...]
Testy automatyczne, czyli kod, który testuje inny kawałek kodu. Jak sama nazwa wskazuje, są to testy automatyczne, dzięki nim możemy testować nasze aplikacje często i szybko - chcąc przetestować jakąś funkcjonalność w naszej aplikacji, nie musimy jej nawet uruchamiać. Jeżeli mamy kod na przykład do skomplikowanych obliczeń, to możemy go przetestować w sposób manualny, czyli poprzez uruchomienie aplikacji, zalogowanie się, przejście do odpowiedniej zakładki gdzie wykonywane są obliczenia, następnie musimy wypełnić formularz i kliknąć odpowiedni przycisk - dopiero wtedy sprawdzimy wynik. Taki sam zabieg trzeba przeprowadzić [...]