Karate - uruchamianie testów w Azure DevOps

Karate – uruchamianie testów w Azure DevOps

Wprowadzenie W poprzednim wpisie pokazałem, w jaki sposób tworzyć automatyczne testy API w karate. Uruchamiałem je lokalnie z poziomu Visual Studio oraz wiersza poleceń. Ale największą ich zaletą jest automatyczne uruchamianie podczas procesu CI/CD. Zobacz, w jaki sposób to zrobić na przykładzie Azure DevOps. Karate i Azure DevOps Automatyczne wykonywanie testów karate w Azure DevOps Read more about Karate – uruchamianie testów w Azure DevOps[…]

Respawn – usuwanie danych z bazy

Respawn – usuwanie danych z bazy

Wprowadzenie W poprzednim wpisie pokazałem Ci, jak użyć Sql Server Snapshots do resetowania stanu bazy w automatycznych testach. Innym podejściem, które możemy wykorzystać podczas pracy, jest po prostu usuwanie z bazy danych, które zostały dodane podczas wykonywania testów. Tytułowa biblioteka Respawn umożliwia realizację czegoś takiego w bardzo prosty sposób, ale ma również niestety swoje wady. Zobacz, Read more about Respawn – usuwanie danych z bazy[…]

FluentAssertions.Mvc - assercie dla ASP.NET MVC

FluentAssertions.Mvc – asserty dla ASP.NET MVC

Wprowadzenie Dwa tygodnie temu opublikowałem wpis o bibliotece Fluent Assertions, która bardzo ułatwia pisanie assertów w testach (zachęcam do przeczytania w pierwszej kolejności owego wpisu). Pokazałem, jak korzystać z biblioteki oraz jak łatwo można rozszerzać możliwości biblioteki o własne metody. Dzisiaj natomiast pokażę Ci, jak testować kontrolery w ASP.NET MVC za pomocą rozszerzenia o nazwie Read more about FluentAssertions.Mvc – asserty dla ASP.NET MVC[…]

Effort - testy Entity Framework

Effort – testy Entity Framework

Wprowadzenie W ostatnim wpisie poruszyłem temat testowania, a w dzisiejszym wpisie pozostaniemy 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. Istnieją różne rozwiązania tego problemu. Część osób Read more about Effort – testy Entity Framework[…]

Swagger - dokumentowanie REST API

Swagger – dokumentowanie REST API

Wprowadzenie Od wielu lat usługi REST wypierają stare dobre usługi SOAP (a można już chyba nawet powiedzieć, że wyparły). Kiedy zaczynałem tworzyć usługi REST oraz z nich korzystać, miałem w pewnym sensie wrażenie, że robimy krok w tył. W SOAP mieliśmy WSDL-a, który opisywał usługę. Dzięki niemu Visual Studio mogło wygenerować wszystkie klasy, których następnie Read more about Swagger – dokumentowanie REST API[…]

Testowanie wysyłki email w ASP.NET MVC

Testowanie wysyłki e-mail w ASP.NET MVC

Wprowadzenie W poprzednich dwóch wpisach (Postal – wysyłka email w ASP.NET MVC oraz Hangfire – wysyłka email w tle) pokazałem, jak wysyłać wiadomości e-mail w aplikacji ASP.NET MVC. Jeśli nie czytałeś/czytałaś tamtych artykułów, to zachęcam do nadrobienia lektury, szczególnie że w tym wpisie będę bazował właśnie na kodzie z poprzednich wpisów. W dzisiejszym poście chciałbym Read more about Testowanie wysyłki e-mail w ASP.NET MVC[…]

Nbuilder oraz Faker.NET - generowanie danych

Nbuilder oraz Faker.NET – generowanie danych

Testując aplikację, potrzebujemy jakiś danych. Można oczywiście wszystko ręcznie przygotować, ale na dłuższą metę takie podejście jest dość problematyczne. Warto skorzystać z czegoś gotowego. Dzisiaj będę chciał Ci pokazać dwie biblioteki (Nbuilder oraz Faker.NET), które wykorzystuję do generowania danych testowych, a które w połączeniu dają całkiem fajne wyniki. Nbuilder Nbuilder (strona biblioteki) przydaje się, gdy Read more about Nbuilder oraz Faker.NET – generowanie danych[…]

DateTime.Now i podróż w czasie

DateTime.Now i podróż w czasie

DateTime.Now? Tytułową właściwość zna każdy. Służy ona do pobrania aktualnej daty lokalnej. Jest jedną z najczęściej używanych właściwości systemowych, a zarazem jedną z bardziej problematycznych. Część z Was zapewne powie, że nie powinno się jej używać i lepiej użyć DateTime.UtcNow, aby nie mieć problemów, gdy mamy użytkowników w różnych strefach czasowych. Ale o tym kiedy Read more about DateTime.Now i podróż w czasie[…]