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 nie jest skomplikowane. Jest nawet prostsze niż w przypadku wykonywania testów Postmana. Ni...
Strona głównaUżytkownik
danielplawgo | użytkownik
Publikowałem na blogu już kilka wpisów na temat testowania API z wykorzystaniem świetnego narzędzia jakim jest Postman. W tym w jaki sposób automatycznie testować API podczas każdego release w Azure DevOps. W tym wpisie natomiast chciałbym przedstawić alternatywę dla takich testów, w postaci narzędzia Karate.Karate Karate jest narzędziem, za pomocą którego możemy wykonać różnego rodzaju testy. Od testów API, które pokażę Ci w tym wpisie, po testy interfejsu uż...
Posted on przez Daniel PlawgoWprowadzenie Postman jest rozbudowanym narzędziem, bez którego nie wyobrażam sobie pracy. Większość kojarzy go jako aplikację do testowania api, ale umożliwia on dużo więcej. W tym wpisie będę chciał pokazać Ci, czym jest Mock Serwer oraz jak z niego skorzystać. Zauważyłem, że dużo osób korzystających na co dzień z Postmana nie wie, że coś takiego jest dostępne. A szkoda, bo są sytuacje, w których Mock Serwer może się przydać.Po co mi Mock Serwer? Postmana w większości prz...
Posted on przez Daniel PlawgoWprowadzenie Ostatnio pokazałem, w jaki sposób za pomocą prerenderowania aplikacji po stronie serwera przyspieszyć ładowanie aplikacji, dzięki czemu użytkownik szybciej widzi interfejs użytkownik w przeglądarce. W tym wpisie pokażę Ci inną technikę, która dodatkowo zwiększa szybkość startu aplikacji. Domyślnie Blazor pobiera do przeglądarki całą aplikację, wszystkie powiązane assembly, co w przypadku rozbudowanej aplikacji może okazać się niepotrzebnym narzutem. Szczególni...
Jednym z problemów aplikacji stworzonej w Blazorze (WebAssembly) jest start aplikacji i potrzebny czas do jej pobrania i załadowania. Co powoduje, że już w najprostszej aplikacji użytkownik widzi ekran ładowania. W najnowszej wersji Blazora, która została opublikowana wraz z .NET 5 pojawiła możliwość prerenderowania aplikacji już po stronie serwera (to coś innego niż działanie Serwer Side). Dzięki czemu do przeglądarki leci już wygenerowany HTML, a co za tym id...
Pierwszy wpis na temat Blazora na blogu pojawił się mniej więcej półtora roku temu. Po serii wpisów zostawiłem temat, ale bacznie się przyglądałem, jak Blazor się rozwija. A rozwija się bardzo fajnie. Myślę, że teraz przy okazji wydania .NET 5 warto wrócić do tematu i podsumować zmiany, które pojawiły się w ostatnim czasie.Blazor .NET 5 Stan Blazora w czasie pisania tamtych wpisów był taki, że wersja Serwer Side (kod wykonuje się po stronie serwera z komunikac...
W ubiegłym tygodniu przygotowałem ogólne podsumowanie zmian w .NET 5. Natomiast w tym wpisie przyszedł czas na bardziej szczegółowe zmiany w najnowszej wersji języka C# 9.0. Jest ich kilka, a największą jest wprowadzenie rekordów. Dla każdej zmiany przygotowałem interaktywny przykład, który możesz uruchomić bezpośrednio z poziomu bloga. Dzięki czemu szybko sprawdzisz, jak zachowa się kod aplikacji. Gorąco zachęcam do zmian w kodzie i własnych eksperymentów!Top...
W ubiegłym tygodniu (10-12 listopada) odbyła się wirtualna konferencja .NET Conf, podczas której swoją oficjalną premierę miał nowy .NET 5. Odbyło się bardzo dużo różnych prezentacji, w których myślę, że każdy znajdzie coś ciekawego dla siebie. Natomiast w tym wpisie chciałem zebrać ciekawsze rzeczy związane z premierą .NET 5, C# 9.0, ale również z samą konferencją..NET 5 Głównym elementem konferencji oczywiście była premiera nowego .NET. Nowa wersja jest o ty...
W tym wpisie zajmę się tematem, który mam wrażenie bardzo często jest pomijany. To może niestety prowadzić do poważnych konsekwencji (utraty danych lub ich niepoprawności), które ciężko będzie namierzyć. Zobaczysz, w jaki sposób można rozwiązać ten problem dzięki optymistycznej współbieżności w .NET Core.Problem? Wcześniej czy później natrafimy na problem, w którym dwóch użytkowników/dwa procesy, czy jakieś inne elementy, będą próbowały zmienić w tym samym cza...
Bazy danych i XML 1500 dni, 8 godzin, 46 minut temu 161 źrodło rozwiń
Dzisiaj przyszedł czas na ostatni wpis o Azure Logic App. Poprzednio zajęliśmy się kosztami usługi, a dzisiaj przyszedł czas na automatyzację procesu wdrażania nowych wersji aplikacji. Skupimy się na przechowywaniu kodu w gicie oraz wdrażaniu z wykorzystaniem Azure DevOpsów. Dzięki czemu będziemy mogli zautomatyzować proces przenoszenia zmian z środowiska developerskiego na testowe, czy produkcyjne.Parametryzowanie aplikacji Na potrzeby tego wpisu wykorzystam ...
Postman jest narzędziem, które wykorzystuję codziennie i bez którego nie wyobrażam sobie pracy. Dzisiaj chciałbym Ci pokazać, w jaki sposób można zaimportować żądanie z DevTools (Chrome) do Postmana, aby ułatwić sobie pracę i testowanie aplikacji. W szczególności, gdy jakieś żądanie powoduje błąd (np. 500). Dodatkowo, gdy nauczymy naszych testerów, aby do zadań wrzucali tak wyeksportowane żądania, to praca w szczególności nad problemami staje dużo łatwiejsza i...
W ostatnim czasie na blogu pojawiły się dwa artykuły o Azure Logic App. Pokazałem w nich, jak utworzyć aplikację w tej usłudze, jakie są mniej więcej możliwości oraz problemy, na jakie można natrafić. W tym artykule zobaczysz, jaki jest faktyczny koszt działania takiej aplikacji. Przy okazji porównamy sobie to do kosztu innych usług Azure.Cennik Azure Logic App Na stronie Microsoftu poświęconej kosztom Azure Logic App znajdziemy taką oto tabelkę: Jak widać pł...
W dzisiejszym wpisie będę chciał Ci pokazać dość ciekawą bibliotekę – Ben.Demystifier. Może uznasz ją za ciekawostkę, ale jej dodanie i wykorzystywanie nie jest problematyczne czy czasochłonne. A może później ułatwić szukanie błędów i analizowanie logów. Tytułowy Ben.Demystifier to biblioteka, która zmienia zawartość wygenerowanego stack trace w momencie wystąpienie wyjątku. Na przestrzeni 20 lat istnienia C# Microsoft dodawał nowe funkcjonalności do języka, z...
Na początku września opublikowałem pierwszy wpis o Azure Logic App. Był on wprowadzeniem do tej usługi – pokazałem jej działanie na prostym przykładzie, który pobierał informacje o pogodzie i zapisywał ją w Azure Storage. W tym wpisie chciałbym pokazać Ci bardziej rozbudowany przykład. Przy okazji którego przedstawię kolejne kwestie związane z budową aplikacji w Azure Logic App.Przykład Tym razem przykład będzie dużo bardziej rozbudowany i będzie zawierał więk...
W dobie mikroserwisów, nanoserwisów, czy serwerlessów kwestią czasu jest konieczność budowania adresów url do innych zasobów w sieci. Można się męczyć i robić to ręcznie albo też skorzystać z gotowej biblioteki, jaką jest tytułowy Flurl. W tym wpisie dowiesz się, czym jest Flurl, jak z niego skorzystać, jakie daje możliwości oraz gdzie mogą wystąpić problemy.Flurl Flurl (https://flurl.dev/) z założenia ma pomóc nam w budowaniu adresów url (fluent api) oraz wy...
Czy również Tobie zdarza się, że czasami potrzebujesz przygotować jakiś proces lub przepływ (na przykład skopiowanie danych lub pliku z jednej usługi do drugiej)? Na początku wygląda to na proste zadanie, ale z każdą linijką kodu widzisz, że koniec się oddala? A może masz potrzebę sprawdzić działanie jakiejś usługi i chciałbyś zrobić to w ciągu kilku minut, aby ocenić, czy warto inwestować czas w dane rozwiązanie? Tytułowe Azure Logic App jest właśnie taką usł...
Na blogu pojawiło się kilka różnych artykułów dotyczących tego, jak wykorzystać Postmana do testowania WebApi. W tym artykule pokażę, w jaki sposób przyśpieszyć dodawanie żądań do Postmana, szczególnie w sytuacji, gdy zaczynamy używać Postmana z już istniejącym WebApi. Wykorzystamy do tego opisywaną już na blogu bibliotekę Swagger, która dokumentuje nasze API. Postman jest w stanie zaimportować taki opis i na podstawie tego wygenerować żądania do nowej kolekcji...
Dzisiejszy wpis jest zainspirowany problemem, jaki od czasu do czasu widzę w aplikacjach zespołów programistów, którym pomagam. W prawie każdej aplikacji, wcześniej czy później, znajdziemy jakiś widok ustawień. Na ogół znajdują się w nim przyciski pozwalające otworzyć kolejne okna/widoki, w których użytkownik może zmienić konfigurację aplikacji. Bardzo często gdy zaczynamy tworzyć aplikację, liczba ustawień jest dość mała, ale z czasem bardzo się rozrasta. Do t...
Sztuka programowania 1891 dni, 9 godzin, 54 minuty temu 271 źrodło rozwiń
Już kiedyś opisywałem na tym blogu, że jednym z większych problemów, które widzę w projektach moich kursantów, są migracje bazy danych. Kilka miesięcy temu opisywałem trzy różne podejścia: migrację w Entity Framework, Fluent Migratora oraz DbUp. Podejścia te, jak sądzę, pokrywają większość przypadków, które możesz mieć w swojej aplikacji. Kolejnym problemem związanym z migracjami jest ich uruchamianie. O ile w jakimś projekcie jest już użyty jakiś mechanizm (n...
Bazy danych i XML 1920 dni, 11 godzin, 5 minut temu 90 źrodło rozwiń
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, co umożliwia i gdzie może Ci się ona przydać.Respawn Respawn (https://...
Bazy danych i XML 1927 dni, 9 godzin, 46 minut temu 102 źrodło rozwiń