dotnetomaniak.pl - Artykuły z tagiem Narzędzia

Jakiś czas temu, zupełnie dla funu napisałem sobie sprytną biblioteczkę do testów w stylu BDD. Dzisiaj po chrzcie w ogniu (czytaj użyciu w moich samplach) wypuściłem wersję 0.1. Założenia: - pomóc w płynnym i czytelnym pisaniu testów, - usunąć boilerplate za pomocą zestawu pomocnych helperów, - nie zastępować frameworków testowych (działa ze wszystkimi, więc XUnit, NUnit, MSTests itp.) ani innych do asercji - zachować prostotę, ale zezwolić na kompozycje i rozszerzenia. Póki co służy do testów API, bo ...

Źródło: event-driven.io
Dziel się z innymi:
Ogooreck, a sneaky testing library in BDD style - Oskar Dudycz

Narzędzia 887 dni, 23 godziny, 41 minut temu oskar-at-net 106 źrodło rozwiń

...korporacyjne proxy, antywirusy i innego rodzaju oprogramowanie monitorujące jest w stanie ograniczyć wydajność programisty – moim zdaniem – nawet o połowę. Coś co w normalnych warunkach zajmuje 2 minuty może w takim środowisku zająć minut 10, a to już wystarczająco, by deweloper się zirytował i rozproszył. 2 minuty pozwolą pozostać we flow, a 10 minut frustracji przerodzi się w wizytę w kuchni albo chill-roomie, a następnie w kolejne kwadranse spędzone na powrocie do skupienia.

Źródło: kalkus.dev
Dziel się z innymi:
Technologiczno-narzędziowa zasada Pareto | Programista też człowiek

Inne 1234 dni, 22 godziny, 7 minut temu landeeyo 73 źrodło rozwiń

Z reguły naszą logikę biznesową umieszczamy w klasach serwisowych. Czasem są one większe, a czasem mniejsze. Zastanówmy się, jak mógłby wyglądać nasz kod, gdybyśmy dla każdej metody z serwisu tworzyli osobną klasę. Wykorzystamy do tego bibliotekę MediatR. Jeśli ktoś się zastanawia po co, odpowiedź jest prosta: aby zwiększyć spójność i zmniejszyć sprzężenie. Na razie nie będziemy się zagłębiać w takie pojęcia jak CQRS czy CQS. Naszym celem jest rozbicie klas na mniejsze i zmiana tego, jak je wołamy. Po ty...

Tagi: C#, Narzędzia
Źródło: www.admu.pl
Dziel się z innymi:
Klasa per metoda z wykorzystaniem MediatR – ADMU Blog

Sztuka programowania 1449 dni, 22 godziny, 48 minut temu Admu 138 źrodło rozwiń

Jakiś czas temu pisałem o tym, że gdy tworzymy API, warto dodać narzędzie Swagger. Umożliwia ono w szybki i prosty sposób przetestować nasze API (tutaj). Zdarza się jednak tak, że aby móc korzystać z naszego API, dane żądanie (request) musi być zautoryzowane, czyli np. posiadać odpowiedni token. Swagger umożliwia autoryzację żądań na wiele sposobów. W tym poście opiszę jak to zrobić, gdy potrzebujemy Bearer token.

Tagi: C#, Narzędzia, testy
Źródło: www.admu.pl
Dziel się z innymi:
Autoryzacja żądań w Swagger – ADMU Blog

Narzędzia 1469 dni, 23 godziny, 34 minuty temu Admu 94 źrodło rozwiń

Z reguły nasze aplikacje posiadają jakąś logikę biznesową (o ile nie piszemy prostego CRUD). Chciałbym jednak zaznaczyć, że nie mam tu na myśli logiki w rozumieniu walidacji czy reguł biznesowych, np. brak możliwości zmiany wartości jakiegoś pola, gdy pewne warunki nie zostaną spełnione. Chodzi mi bardziej o logikę procesu, np. gdy klient złoży zamówienie, musimy mu wysłać wiadomość e-mail. Ta logika nie dotyczy obiektu zamówienia, ale jest z nim związana. Skoro wiemy, że będziemy musieli przechowywać g...

Tagi: C#, Narzędzia
Źródło: www.admu.pl
Dziel się z innymi:
Jak grupować logikę biznesową w klasach – ADMU Blog

Sztuka programowania 1499 dni, 11 minut temu Admu 132 źrodło rozwiń

Ostatnio pisałem o tym, co możemy zrobić, gdy nasze metody zwracają rezultat i chcemy go zmapować na odpowiedni kod http (tutaj). W tym poście podam podobne rozwiązanie, gdy nasze metody rzucają wyjątki, zamiast zwracać rezultat.

Źródło: www.admu.pl
Dziel się z innymi:
Jak obsłużyć zwracanie wyjątku w WebAPI – ADMU Blog

Narzędzia 1512 dni, 23 godziny, 58 minut temu Admu 93 źrodło rozwiń

Jakiś czasem temu pisałem o tym, że nasze metody mogą zwracać rezultat lub zgłaszać wyjątek (tutaj). Zastanówmy się, jak mogłoby wyglądać nasze API, aby status rezultatu był mapowany na odpowiedni kod Http. Mamy dwie możliwości: wspólna metoda w klasie bazowej lub filtr.

Tagi: C#, Narzędzia, WebAPI
Źródło: www.admu.pl
Dziel się z innymi:
Jak obsłużyć zwracanie rezultatu w WebAPI – ADMU Blog

Narzędzia 1527 dni, 4 minuty temu Admu 92 źrodło rozwiń

Często w naszych aplikacjach mamy do czynienia z datami. Najczęściej używamy ich przy polach takich jak data utworzenia (np. CreatedAt) lub data modyfikacji (np. ModifiedAt), ale są też inne miejsca. Wtedy z reguły stosujemy DateTime.UtcNow. Niestety w testach ciężko jest potem coś z taką datą zrobić. Nie mamy żadnej możliwości ustawienia tej daty na jakąś inną, aby przetestować czy nasza aplikacja działa poprawnie. Sprawa się jeszcze bardziej komplikuje, gdy mamy logikę biznesową uzależnioną od takiej ...

Źródło: www.admu.pl
Dziel się z innymi:
Daty – jak sobie z nimi radzić – ADMU Blog

Narzędzia 1603 dni, 23 godziny, 14 minut temu Admu 171 źrodło rozwiń

Kiedyś bardzo lubiłem bibliotekę AutoMapper. Była ona z reguły jedną z pierwszych bibliotek, jakie zawsze dodawałem do projektu na samym początku. Pozwalała mi tworzyć mnóstwo obiektów i mapować je do woli, poświęcając na to niewiele czasu „programistycznego”. Była świetna! Aż do momentu, gdy zaczęła być jedną z największych bolączek.

Źródło: www.admu.pl
Dziel się z innymi:
AutoMapper to zło – ADMU Blog

Sztuka programowania 1617 dni, 23 godziny, 48 minut temu Admu 262 ź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

Źródło: www.admu.pl
Dziel się z innymi:
Zaawansowana walidacja danych z FluentValidation – ADMU Blog

Narzędzia 1744 dni, 11 minut temu Admu 137 źrodło rozwiń

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.

Źródło: www.admu.pl
Dziel się z innymi:
Walidacja danych z FluentValidation – ADMU Blog

Narzędzia 1750 dni, 23 godziny, 2 minuty temu Admu 140 źrodło rozwiń

Ostatnio opisałem jak dodać logowanie przy pomocy biblioteki Serilog do naszej aplikacji. W tym poście postaram się pokazać jak można je skonfigurować.

Źródło: www.admu.pl
Dziel się z innymi:
Konfiguracja logowania w C# – Serilog – ADMU Blog

Narzędzia 1806 dni, 22 godziny, 59 minut temu Admu 137 ź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.

Źródło: www.admu.pl
Dziel się z innymi:
Logowanie w C# – Serilog – ADMU Blog

Narzędzia 1813 dni, 23 godziny, 2 minuty temu Admu 171 źrodło rozwiń

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...

Tagi: C#, Narzędzia, testy
Źródło: www.admu.pl
Dziel się z innymi:
Automatyczne tworzenie mocków – AutoMoq – ADMU Blog

Narzędzia 1827 dni, 22 godziny, 58 minut temu Admu 128 źrodło rozwiń

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.

Tagi: C#, Narzędzia, testy
Źródło: www.admu.pl
Dziel się z innymi:
Automatyczne tworzenie obiektów z danymi – AutoFixture – ADMU Blog

Narzędzia 1841 dni, 23 godziny, 4 minuty temu Admu 114 źrodło rozwiń

Zapewne nie raz miałeś(-łaś) tak, że aplikacja na produkcji, u klienta lub serwerze testowym działa inaczej, niż powinna. A to pojawia się jakiś wyjątek, a to wynik operacji jest inny, niż powinien być. Znając życie, w logach nic ciekawego nie było i przez dłuższy czas dodawałeś(-łaś) do nich kolejne linijki w pogoni za błędem. Myślę, że każdy z nas miał wcześniej czy później podobny problem. Nie raz przemknęło Ci przez myśl, by zainstalować Visual Studio, aby...

Źródło: plawgo.pl
Dziel się z innymi:
dnSpy – debugowanie aplikacji bez kodu - Blog Daniela Plawgo

Narzędzia 2016 dni, 28 minut temu danielplawgo 219 źrodło rozwiń

Obserwując nasze środowisko w trakcie luźnych rozmów na konferencjach, w mediach społecznościowych czy chociażby w komentarzach pod postami na blogach dochodzę do wniosku, że jednej umiejętności ciągle musimy się uczyć – umiejętności przyznawania, że świat za płotem naszego ogródka może wyglądać nieco inaczej niż u nas. Tyczy się to szczególnie rozmów o narzędziach które rzekomo mają decydować o natychmiastowym sukcesie lub porażce danego projektu. Dzisiaj kilka przykła...

Jak (nie) rozmawiać o narzędziach - PoznajProgramowanie.pl

Inne 2227 dni, 23 godziny, 8 minut temu AdrianBystrek 125 źrodło rozwiń

Czy chcieliście kiedyś szybko przetestować jakiś fragment kodu? Pracujecie na komputerze gdzie nie macie zainstalowanego środowiska (np. kolegi, koleżanki)? Albo po prostu nie chce Wam się lub nie możecie go aktualnie odpalić? Dobrze trafiliście. Dzisiaj przedstawię Wam kompilator online dla śr...

Kodujemy online - DevBlaze

Narzędzia 2554 dni, 23 godziny, 33 minuty temu blaze 138 źrodło rozwiń

Kilka słów o dodatku do Visual Studio o nazwie OzCode, który umożliwia magiczne debuggowanie

Magiczne debuggowanie z OzCode – programmer-girl

Narzędzia 2561 dni, 19 godzin, 54 minuty temu Weronika Mularczyk 177 źrodło rozwiń

Cześć. Jakiś czas temu natchnęło mnie i postanowiłem ogarnąć coś, żeby 2DXnegine budował się na serwerze Continous Integration. Dla niezaznajomionych z tematem Continous Integration to taki twór, który po każdym commicie będzie pobierał do siebie nasze źródła, kompilował je i odpalał testy - po tym wszystkim możemy gdzieś naszą zbudowaną aplikacje wystawić i robić jeszcze inne cuda, o których jeszcze nie pomyślałem. Na rynku istnieje parę...

Źródło: harunx9.github.io
Dziel się z innymi:
AppVeynor darmowe CI dla projektów Open Source

Narzędzia 2606 dni, 54 minuty temu SzymonW 63 źrodło rozwiń

1 2 3 4