Patatajam na Confiturę po raz wtóry

W zeszłym roku zaufaliście mi i mogłem wystąpić na scenie Confitury. Skończyło się to jak się skończyło 🙂 W tym roku spotkamy się raz jeszcze. Tym razem będę mówić o JUnit 5 🙂 Dziękuję za zaufanie i wiarę, że dam radę. Kod jest dostępny na licencji MIT. Jednak niektóre rozwiązania mogą być objęte inną licencją. […]

Numlock – bo kto bogatemu zabroni

Wczorajszy dzień zakończył się lekką beką wśród znajomych, bo Apple wypuściło klawiaturę z polem numeryczny. Brawo Apple. Szkoda, że Applefobia już od dawna nie działa. No ale… Papple to papple, a ja od pewnego czasu w pracy testuję „klawiaturę z biedronki”, czyli klawisze marki Hykker. Żeby nie było, to w domu używam Razer BlackWidow Ultimate […]

JUnit 5 – założenia i twierdzenia

Istotą każdego testu jest sprawdzenie jakiegoś twierdzenia. Testy bez asercji są jak porno bez fabuły. Wszystko się jebie i w sumie nie wiadomo dlaczego. Dziś przyjrzymy się jakie możliwości w tym zakresie oferuje nam JUnit 5. Założenia Czyli to, co występuje pod nazwą Assumptions. Mechanizm ten znamy już z poprzedniej wersji frameworku i w nowej […]

JUnit 5 – Rozszerzenia i wstrzykiwanie zależności, część 2

W poprzednim wpisie zajmowaliśmy się standardowymi implementacjami ParameterResolver. Na zakończenie wspomniałem, że własna implementacja wymaga konfiguracji na poziomie silnika testów. Takie podejście jest uciążliwe i wiąże się m.in. z implementacją własnego silnika lub hackowaniem istniejącego. To jest trochę krzywe. Twórcy biblioteki JUnit 5 mając świadomość, że takie rozwiązanie jest kiepskie, przygotowali mechanizm rozszerzeń. Rozszerzenia można […]

A na plażę którędy? DevCrowd 2017

Za nami dziewiąta już edycja DevCrowd (Java4People). Dla mnie była to edycja numer siedem 🙂 Pojechałem, posłuchałem, pogadałem i oto wnioski. Stylowy frontend w praktyce, czyli zderzenie z Angularem i SCSSem – Katarzyna Koszur Pierwszy raz na scenie i całkiem fajnie wyszło. Brakowało mi trochę efektu łał, ale całkiem fajnie. Na pierwszy ogień poszedł Angular […]

Praktyczne zastosowanie strażników w Elixirze

Trwa przerwa od JUnita. Wybaczcie, ale muszę odpocząć kilka dni od tego tematu. W zamian trochę Elixira i mały praktyczny przykładzik jak można zastosować strażników. Z samym mechanizmem strażników zapoznaliśmy się już wcześniej. Dziś coś, co robiłem przy okazji peselxa, a co finalnie zostało „ostrażnikowane”. Problem Z numeru PESEL możemy wyciągnąć informacje o dacie urodzenia. […]

Scalar 2017, czyli najmodniejszy buzz word Scali to…

… oczywiście typeclass i monad transformer. W dodatku zrobiony shapelessem albo catsami. Zamiast opowiadania o poszczególnych prezentacjach, podzielę się z wami tylko tymi, które moim zdaniem trzeba obejrzeć, jak tylko ukażą się nagrania. Dave Gurnell – Adventures in Meta-Programming Ciekawe porównanie trzech technik metaprogramowania w Scali. Makra, Shapeless i generowanie kodu. Każda z tych metod […]

JUnit 5 – Rozszerzenia i wstrzykiwanie zależności, część 1

Mechanizm runnerów znany z JUnit 4 był przydatny, ale ograniczony jak prędkość w strefie zamieszkania. Główną wadą był brak możliwości użycia wielu runnerów naraz. Musieliśmy się zdecydować, czy chcemy użyć runnera do Springa, Mockito czy może do parametrów. To był poważny problem. Decydując się na jeden z runnerów, zgadzaliśmy się, na ręczną konfigurację reszty elementów […]

JUnit 5 – Fabryki testów

Czasami samo przekazanie parametrów do testów nie wystarcza. Nie są to sytuacje częste, ale mogą się zdarzyć. Jednym z przykładów niech będzie konieczność pobrania danych testowych z jakiejś bazy danych. Nie posiadamy do dyspozycji żadnego narzędzia, w rodzaju @CsvFileSource. Można takie narzędzie napisać. Dodać rozszerzenie do modułu testów parametryzowanych i będzie OK. Ma ono jednak […]

JUnit 5 – Testy parametryzowane

Sama możliwość wielokrotnego uruchomienia testu, to nie wszystko. W pewnych przypadkach chcielibyśmy, by nasz test został uruchomiony dla różnych zestawów danych. Ma to sens, jeżeli nasze dane wejściowe reprezentują pewien spójny podzbiór przypadków testowych. Mówiąc inaczej mamy dane, które mają sprawdzić jedną ze ścieżek. Listing 1. Każdy test sprawdza jedną ze ścieżek – JUnit 4 […]