Piszę testy na 100%

testyBajki

Znowu wpis o mitach. Bo jak często widać, że w jakimś projekcie pokrycie testami wynosi 100%? Częściej się o tym mówi, niż widzi.

Menagiery i biznes się chyba pogodził z tym, że ciężko będzie to osiągnąć i miękną, mówią dobra to robimy 80% albo 60% jeśli projekt mało ważny, a metryki jakieś muszą mieć – a szkoda, bo to nie jest aż taka ciężka sprawa.

Dygresja

Teraz taka myśl przyszła mi do głowy, czy ktoś patrzy w ogóle na te procenty, które kryją kod? Bo jak się uprzeć, to wysoki poziom można zrobić, bez napisania sensownych testów. Np. przetestować wszystkie właściwości: zarówno get i set. I już kilka procent zaliczone.Ale nie o tym chciałem pisać.

Co zrobić, gdy za jakiś kawałek kodu ciężko się zabrać, albo jest tam coś systemowego? Ja wtedy zawsze wracam do mojej mantry, którą jest spychologia. Alternatywą jest microsoft fakes – ale to dużo roboty.

Treść właściwa wpisu nastąpi teraz

Continue reading

Bohater drugoplanowy

fluentscheduler

Co można zrobić

Wysyłanie maili, aktualizowanie bazy danych, sprawdzaniem spójności danych, aktualizacje wpisów, boty, sztuczny ruch, te inne rzeczy można robić w tle naszej aplikacji, nie mówię że to najlepszy sposób – trzeba uważać na słówka.

Jak to robić dobrze? Na pewno nie odpalałbym osobnego wątku z aplikacji. Poszukałem i znalazłem u Hanselmana, mówiłem wam że mam z nim zdjęcie? Na blogu Scota jest taki wpis: http://www.hanselman.com/blog/HowToRunBackgroundTasksInASPNET.aspx

Ponieważ nie jestem uparty i nie lubię walczyć ze skomplikowanymi bibliotekami mój wybór padł na FluentScheduler. Sprawił mi najmniej problemów i najkrócej musiałem się zastanawiać, jak się z niego korzysta. Poza jednym szczegółem, ale o tym poniżej. Continue reading

A czemu to tyle trwa

99% procent cieszy tylko przez pierwsze 5 minut – tak słyszałem. Kto z nas nie posiada jakiegoś miernika w tray, czy gdzieś na pulpicie na którym widać ile CPU, jaka temperatura, jaki ram i ile prądu – mój ulubiony to proces monitor  process explorer.

time_bug

Glimpse

Fajnie że jest Glimpse który może zrobic to samo z moja aplikacją asp mvc – no prawie to samo. Aby to zainstalować należy udać się do zarządzania paczkami i wpisać glimpse:

2016-05-12 21_05_06-Itan - Microsoft Visual Studio (Administrator)

Klik-klik i instalacja zakończona. Aby nie marnować czasu od razu powiem że są także dodatkowe paczki dla różnych różności, jako że ja używam EF to zainstalowałem także paczkę dla tego ORM: Glimpse.EF6 ze wszystkimi zależnościami.

Jak to uruchomić? Continue reading

ChildAction w akcji

Odsłoń

Czasem dostępność java skryptu powoduje, że w zapomnienie mogą odejść pewne funkcjonalności MVC. W moim przypadku było tak gdy chciałem wyświetlać zawartość kanału z wiadomościami. Klik na kanale, a w tle myk-myk leci ajax i wracają wiadomości. Zrobiłem pewne zmiany w kodzie, tak że teraz kliknięcie na kanale powoduje przeładowanie strony i dopiero teraz użytkownikowi pokazują się wiadomości. Co za tym idzie lista kanałów renderowana jest w dwóch miejscach: na głównej liście, gdy żaden z kanałów nie jest wybrany oraz gdy jeden jest wybrany i czytany.
Jak wyświetlić listę kanałów tu i tu? Początkowa opcja ^c+^v odpada, bo nie. Potem myślę o jakimś ajaxie, jak by to zrobić… Continue reading