Testowanie wydajności z BenchmarkDotNet

Wydajność funkcji jest ważną miarą w każdej aplikacji. Zanim zaczniemy optymalizować kod aplikacji w pierwszej kolejności należy zidentyfikować fragment kodu, który działa nie optymalnie, tu z pomocą przyjdą profilery. Udało się znaleźliśmy fragment kodu, wprowadziliśmy poprawkę i jak najszybciej można porównać wydajność poprawki w odniesieniu do wersji pierwotnej? Pierwszym naszym …

Testy integracyjne dla ASP.NET Core Web API

Mówisz, że Twój kod działa, ale czy na pewno jesteś tego pewny? Wprowadzasz zmianę w kodzie i może czujesz, że twój projekt to tykająca bomba na produkcji. Testy jednostkowe, integracyjne, systemowe, akceptacyjne itp. pozwolą Ci spokojniej spać.  Jeśli natomiast temat testów jednostkowych nie jest za dobrze Ci znany polecam zajrzeć …

Fluent Validation z ASP.NET Core Web API

Walidacja danych wejściowych jest ważnym procesem w naszych aplikacjach/usługach, umożliwia uniknięcie błędów wynikających z niepoprawnych wartości. Istnieje kilka sposób na implementacje walidacji w projektach. Najbrzydszym rozwiązaniem jest utworzenie długich litanii if-ów weryfikujących wartości uzyskane na wejściu akcji kontrolera. W ASP.NET najpowszechniejszą metodą walidacji danych wejściowych jest wykorzystanie wbudowanego mechanizmu walidacji …

Testy jednostkowe DateTime

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.  Jeśli logika testowanej metody zależy od aktualnego czasu lub daty, wynik testu będzie się różnić w zależności od czasu przeprowadzenia testu. Jak zarządzać aktualnym …

Integracja Slack z Travis CI

W procesie ciągłej integracji ważnym etapem jest otrzymanie informacji o statusie zakończonego buildu. Travis umożliwia dystrybuowanie powyższej informacji poprzez powiadomienia na e-mail (opcja domyślna), IRC, chat oraz webhook. Osobiście nie lubię mieć zapchanej skrzynki przez informacje o każdej wykonanej kompilacji. Jednym z rozwiązań by ograniczyć spam jest ustawienie powiadomień e-mail …

Continuous Integration z Travis CI na GitHub

Dziś trafia do Was trzecia cześć z serii o ciągłej integracji, która omawia jak skonfigurować narzędzie Travis CI do automatyzacji pracy z hostingiem GitHub. Poniżej umieściłem odnośniki do poprzednich części, w których omówiłem między innymi podstawy związane z procesem Continuous Integration. Continuous Integration z Bitbucket Pipelines Continuous Integration z GitLab …

Dobre praktyki – Testy jednostkowe

Test jednostkowy (ang. unit test) to fragment kodu, który weryfikuje poprawność działania innego fragmentu kodu. Testowany fragment kodu jest poddawany testowi, który wykonuje go i w ramach weryfikacji porównuje wynik z oczekiwanym rezultatem. Zastanówmy się przez chwilę, skąd mamy mieć pewność, że testy jednostkowe zostały prawidłowo zaimplementowane w naszym projekcie. …

Continuous Integration z GitLab CI

Wpis kontynuuje serie o systemach ciągłej integracji. Za każdym razem, gdy wypychamy wprowadzone zmiany w kodzie źródłowym do głównego repozytorium, system CI powinien uruchomić kompilacje, a następnie wykonać testy. Dzięki temu unikamy sytuacji że po dniach, tygodniach wypychania zmian do repozytorium, kod komponentów nie współpracuje z innymi komponentami systemu. Mam …

Continuous Integration z Bitbucket

W codziennej pracy mam nadzieje że każdy z Was korzysta z systemu kontroli wersji, który umożliwia śledzenie wszystkich zmian dokonywanych na plikach. Systemy kontroli wersji dzielą się na trzy grupy: lokalne scentralizowane rozproszone W dzisiejszym przykładzie wykorzystam rozproszony system kontroli wersji Git. Umiejętność korzystania z Gita w codziennej pracy to …

Trzy, dwa, jeden … Hello World !!!

Witajcie  🙂 Zgodnie z tradycją w pierwszym moim kroku na blogu został wyświetlony magiczny dla każdego programisty/programistki ciąg znaków „Hello World”. Zaczynając przygodę z nową technologią zaczynamy od aplikacji wyświetlającej powyższy ciąg znaków. Prosta aplikacja, a sprawia tyle frajdy. Motywacja Przed wykupieniem hostingu i domeny zadałem sobie ważne pytanie „Po …