Gdy tworzymy jakieś API dobrze jest sprawdzić, czy ono działa. Po każdej zmianie albo dodaniu nowego punktu wejścia (endpoint) powinniśmy przetestować, czy wszystko jest ok. Możemy to zrobić uruchamiając aplikację i ręcznie wszystko sprawdzając, jednakże na dłuższą metę jest to bardzo czasochłonne. Dlatego warto utworzyć osobny projekt, w którym stworzymy testy sprawdzające czy nasze API działa poprawnie. W kilku punktach postaram się opisać jak u mnie z reguły wygląda taki projekt z testami API.
Ostatnio pisałam o podstawach Cake. Dzisiaj czas na opis nowego projektu wykorzystującego Cake do uruchamiania skryptów np. az-cli. Stworzyłam na GitHubie specjalne repozytorium, z którego możecie korzystać.
Kto lubi ciasto? Ja uwielbiam! Zwłaszcza takie dotnetowe :) Cake pozwala pisać build skrypty w C#. Zamiast ręcznie uruchamiać skrypty, albo bawić się Powershellem, można je zaprogramować w znanym języku. Co lepsze, można stworzyć repozytorium i w nim trzymać cały kod związany z deploymentem
Programowanie rozproszone 1665 dni, 4 godziny, 52 minuty temu 66 źrodło rozwiń
A brief introduction to Blazor's possibilities, how to create the first project, what his future is and whether it's competition for JavaScript.
Google Analytics API is a very nice tool to download statistics from our website to another application. I present here how to use it.
Jakiś czas temu w pracy miałam ciekawy przypadek. Mianowicie – losowo wywalał się jeden z testów. Powodem był NullReferenceException w logice. Żeby dojść do problemu, trzeba było przeanalizować trochę kodu, w którym był użyty Parallel.ForEach() i lista obiektów. Gdzie był błąd i jak go naprawiłam? O tym we wpisie.
Sztuka programowania 1685 dni, 5 godzin, 50 minut temu 172 źrodło rozwiń
Today’s article will focus on something that is a key element of creating and operating services in .NET Core technology, or Dependency Injection. In writing this article I assume that the reader knows the basics of programming in C#.
Sztuka programowania 1700 dni, 5 godzin, 54 minuty temu 96 źrodło rozwiń
W poprzednim poście pisałem o bibliotece FluentValidation i jak ją dodać do naszego projektu. W tym poście skupimy się na bardziej zaawansowanych funkcjonalnościach, jakie nam ta biblioteka udostępnia: - Walidacja złożonych właściwości (manualna i automatyczna) - Wspólny walidator właściwości - Walidacja listy - Własny komunikat błędu walidacji - Wspólne walidatory - Warunki walidacji - Reguły zależne od siebie - Wywołanie zwrotne - Asynchroniczna walidacja
W prawie każdym projekcie jest potrzebna jakaś walidacja danych. Klasy służące do walidacji można napisać samemu, ale można również skorzystać z gotowych bibliotek. Najbardziej lubię FluentValidation. Jest to biblioteka, która ułatwia tworzenie „walidatorów” – klas zawierających reguły walidacji.
Opinions, thoughts, solutions by Paweł Pindel on Azure Functions v2 stopped working after release of Azure Functions v3 Did you experience that problem? Because me and my team did. We spent a lot of time looking for solution which appears to be actually really simple. However, I couldn’t find Microsoft information about that in recent changelogs, blog posts etc. But let me explain what the reason was. It seems like before deployme...
Może się zdarzyć tak, że nasza aplikacja rzuci wyjątek, którego się nie spodziewaliśmy. Nie wygląda to dobrze, jeśli taki nieobsłużony wyjątek trafi do użytkownika. Dodatkowo, jeśli nie otrzymamy informacji o tym, że taki wyjątek wystąpił, trudno będzie nam go poprawić i nie dopuścić do jego powtórzenia. W związku z tym warto w naszej aplikacji dodać globalną obsługę wyjątków i ich logowanie. O tym, jak skonfigurować logowanie, pisałem tutaj i tutaj. W tym poście pokażę kilka sposobów na złapanie takich...
Sztuka programowania 1719 dni, 5 godzin, 12 minut temu 279 źrodło rozwiń
Chyba każdy z nas używa logowania w swojej aplikacji. Jeśli jednak ktoś tego nie robi, to zachęcam zacząć. W innym przypadku może być mu trudno zareagować, kiedy coś się wysypie. Postaram się w kilku prostych krokach pokazać, jak dodać logowanie do naszej aplikacji z wykorzystaniem Serilog.
Piotr Szymura software engineer, full-stack developer, open source contributor, crypto/blockchain enthusiast, try hard guitarist, starcraft fan FollowWrocław Email Twitter LinkedIn GitHub Stackoverflow Learn http client once again this time via netstat This is not a guide to: How to use HttpClient in your app ? But rather how to use netstat and how TCP connections are behaving in different code scenarios. Below examples will show...
Gdy tworzymy testy jednostkowe bardzo często musimy coś „zmockować” (czyli stworzyć sztuczny obiekt, którego będziemy używali w trakcie testów zamiast prawdziwej implementacji). Niestety czasem bywa tak, że nasza klasa ma dużo zależności, a do naszego testu potrzebujemy tylko niektórych z nich. Mimo to musimy stworzyć mock dla każdej z zależności, bo inaczej nie będziemy mogli wykonać testu. Czasem bywa też tak, że potrzebujemy dodać nową zależność do istniejącej klasy, a potem trzeba przerobić wszystkie...
Podczas pisania testów (czy to jednostkowych, czy integracyjnych, czy e2e) prawie zawsze musimy stworzyć obiekt z danymi. Czasem jest to obiekt wejściowy, czasem wyjściowy. Z reguły nie interesuje nas większość pól danego obiektu, a jedynie kilka konkretnych. Mimo to musimy uzupełnić wszystkie pola, aby aplikacja zachowywała się poprawnie. Tu z pomocą może nam przyjść biblioteka AutoFixture.
There are lot of tips which I would like to share but I will present only a small portion of the key takeyways which subjetively seemed most intersting for me. Don’t hate me for my somewhat short explanation of topics here, the main purpose of the post is to aggregate the bullet points from conference and reference the most interesting stuff 🙂Source: https://twitter.com/developerdayspl DAY 1 The Intelligent Cloud and Intelligent Edge Cotin -role of ...
Przemysław Walkowski Kolejny bogaty tydzień w naukę. Sporo projektów w różnych językach z różnymi ludźmi. Takie tygodnie są najlepsze. Każdy projekt ma swoją własną jire. 3 osobne jiry w dodatku każda w innej wersji. Można się od tego mocno zakręcić. Zapraszam na porcję wiedzy z 43 tygodnia. Dużo będzie o Angularze.AngularCLI Okazało się, że AngularCLI podczas tworzenia jakiegokolwiek elementu przez ng g tworzy pliki z końcówkami lin...
Sztuka programowania 1812 dni, 5 godzin, 11 minut temu 207 źrodło rozwiń
Od zawsze trochę męczyło mnie to, że jak dodaję nowy interfejs wraz z klasą go implementującą, to muszę pamiętać jeszcze o rejestracji go w kontenerze wstrzykiwania zależności. Aż w pewnym momencie trafiłem na bibliotekę Scrutor i od razu programowanie stało się przyjemniejsze.
Two weeks ago .NET Core 3.0 was officially published. Together with the new framework version, Visual Studio 2019 got support for a long-awaited C# 8.0. The complete list of the new language features is available here on the MSDN, but the one that deserves special attention is Nullable reference types. In this blog post, I will show you how to use this new language feature and how to achieve similar benefits if you still cannot use .NET Core 3.0 in your projects.