Autofixture

Dlaczego

Gdy testuje kod często / zawsze pojawia się potrzeba generowania jakichś danych, czasem mają one sens, czasem są zupełnie niepotrzebne z punktu widzenia testu, a jednocześnie wymagane przez kod.
Pojawiają się wtedy najczęściej zapisy “foo”, “bar”,”dupa”, “not-important”, “asdqweadasdf0923409” czy inne.
Zamiast takich wartości można mieć inne, jakie? Nie ważne! Co?! 😲

Gdy testujesz kod, to potrzebujesz zawsze sprawdzić, czy tekst to “jakiś_tekst” jest równy “jakiś_tekst”? Czy może po prostu jest taki jaki powinien być nie ważne, jaką będzie mieć wartość? (to samo tyczy się wartości liczbowych)

Skąd brać dane

Jarek, cwaniaku, to jak? Ano można przez pisanie tego inline w teście, co spowoduje, że testy osiągną rozmiary amerykańskie 😉 i będą duplikowane w każdy teście.
Można przez mother object pattern (nie ma sensownego linka, poszukajcie różnych opisów) – to taki wielki obiekt, który zajmuje się generowaniem takich danych.
Można przez: autofixture 👈😲👏

Continue reading

Kompresja na azure?

Intro

Poprzednio (tutaj) było o gzipe w odpowiedziach z aplikacji, tym razem o jeszcze jednym gzipie.


Problem

Ściągam dużo danych (nie big data, ale sam za to płacę), trzymam to w wersji surowej na przyszłość, bo gdy będę chciał wyświetlić więcej informacji, to mogę przejechać od początku wszystkie dane, tak mam plan :). Część surówki zostaje przeparsowana i zamieniona na jsona. Jeszcze jedna część z tych danych będzie zwracana do klienta, a klient (frontend) ten obsługuje gzipa – także combo profit; mniej miejsca, mniejszy transfer.

Continue reading

Różne sposoby na implementacje interfejsu

Obrazek tytułowy

Jak to różne sposoby na implementacje interfejsu? To nie ma jednego właściwego sposobu na to? Bierzesz takiego, inspirujesz się nim, mówisz że będziesz jak on, spełniasz się, a potem robisz psikusa – jak, po co?
Niby wiesz że interfejs można implementować jawnie i niejawnie. Ale czy wiesz co z tego wynika? Czy wiesz co można z tym zrobić? Różne rzeczy, albo też nic.

Wersja youtube jest na dole. Continue reading

Widoki w asp .net mvc

Dzisiaj trochę o samych widokach w mvc i ich organizacji.

Zgodnie z przyjętą konwencją widoki powinny znajdować się w folderze Views, tam będzie szukać ich domyślnie włączony silnik renderujący. Nazwa widoku powinna odpowiadać nazwie metody w kontrolerze (konwencja i dobre praktyki). Oczywiście w metodzie Foo można wykorzystać widok o nazwie Goo, ale nie jest to najlepszą praktyką i powodować będzie, że trudniej nam/wam/innym będzie odnaleźć się w projekcie. Continue reading