Cold Flow i Hot Flow w Androidzie
Dobrze Cię widzieć w kolejnym dniu świątecznej akcji "Rekrutacja bez stresu". Dzisiejsze pytanie jest następujące:
Czym charakteryzuje się cold Flow, a czym hot Flow?
Poziom: Senior
Omówienie tego zadania otrzymasz w kolejnym mailu.
Znasz odpowiedź?
Prześlij mi ją odpowiadając na tego maila, aby zdobyć punkty w zabawie!
Teraz pora na wyjaśnienie poprzedniego pytania:
Jak napisać test jednostkowy dla suspend function?
Poziom: Regular
Założenia
Book:
BookRepository:
GetFavouriteBooksUseCase:
Zadanie
Napisz test jednostkowy dla klasy GetFavouriteBooksUseCase
sprawdzający poprawność wywoływanej metody invoke()
. Możesz użyć dowolnych bibliotek.
Rozwiązanie
Omówienie
Aby odpowiednio przetestować taką klasę, należy w pierwszej kolejności zadać sobie pytanie co chcemy sprawdzić. W tym konkretnym przypadku zależy nam na zweryfikowaniu, czy dany use case zwraca dane pobrane z repozytorium bez żadnej modyfikacji. Dodatkowo metoda z interfejsu repozytorium była wywołana tylko jeden raz, co też powinno zostać uwzględnione w implementacji takiego testu.
Dobre praktyki
Deskryptywne nazwy testów
Testy jednostkowe są najbardziej aktualną dokumentacją systemu (często jedyną). Nazywaj metody testowe w taki sposób, aby jednoznacznie mówiły o przeznaczeniu takiego testu.
System under test
Staraj się spójnie nazywać testowane klasy. W przypadku dużych i złożonych testów będzie Ci łatwej odszukać co jest przedmiotem testu, jeśli wszędzie będziesz korzystać z tego samego nazewnictwa. Możesz posłużyć się nazwą systemUnderTest
.
Narzędzia
Regulamin
Szczegółowy opis całej akcji "Rekrutacja bez stresu" wraz z informacją o sposobie zdobywania punktów znajduje się pod poniższym linkiem:[Regulamin]
Dzięki wielkie za przeczytanie tego maila do końca i udział w całym wydarzeniu. Bardzo się cieszę, że jesteś z nami i chcesz rozwijać swoje umiejętności tworzenia aplikacji na Androida.
Komentarze
Prześlij komentarz