Odcinek 17: Toby Huang w San Francisco, Kalifornia (styczeń 2021 r.)
Poprzednie odcinki
Testy przeglądarki to forma automatycznego testowania kodu Chromium, niż testy jednostkowe. Testy przeglądarki tworzą instancje i testują rozmaitych elementów interfejsu, a nie tylko testowaniu wyłącznie funkcji wejścia/wyjścia. tak jak w przypadku testów jednostkowych. Zintegrowane automatyczne testowanie jest ważne do symulowania całościową obsługę użytkowników. Podczas pisania testu przeglądarki często chcesz umożliwia programowe wykonywanie czynności konfiguracyjnych, które użytkownik może wykonać ręcznie. Aby Ci w tym pomóc, składanki to zestaw narzędzi do wykonywania prostych czynności testowanie przeglądarki w sposób wielokrotnego użytku.
Przykłady przydatnych składanek:
GuestUserMixin
do testowania trybu incognitoUserPolicyMixin
za podszywanie się pod zasady dotyczące użytkowników z serweraFakeGaiaMixin
za naśmiewanie się z odpowiedzi serwera Gaia
Możesz tworzyć własne składanki do różnych celów.
Fragment kodu poniżej umożliwia zalogowanie się na potrzeby testu jako gość. Ważne jest, sprawdź, czy wybrana funkcja działa w trybie incognito.
class MyGuestBrowserTestClass : public MixinBasedInProcessBrowserTest { private: GuestSessionMixin guest_session_mixin_{&mixin_host_}; };
LoggedInUserMixin
to wygodny sposób na zalogowanie się jako użytkownik Family Link:
test. Jeśli Twoja funkcja wpływa na jakiekolwiek kwestie związane z nadzorem rodzicielskim,
warto przetestować funkcję u nadzorowanych użytkowników. Możliwy błąd to
zapominanie, że niepełnoletni użytkownicy mają wyłączony tryb incognito lub nie mogą zainstalować;
bez zgody rodzica. LoggedInUserMixin
to mieszanka złożona
złożone z innych mieszanin.
class MyChildBrowserTestClass : public MixinBasedInProcessBrowserTest { protected: void SetUpOnMainThread() override { MixinBasedInProcessBrowserTest::SetUpOnMainThread(); logged_in_user_mixin_.LogInUser(); } private: LoggedInUserMixin logged_in_user_mixin_{&mixin_host_, LoggedInUserMixin::LogInType::kChild, embedded_test_server(), this}; };
Jedną z głównych zalet miksów jest korzystanie z kompozycji zamiast
dziedziczenie diamentów i unikanie problemów z wielokrotnym dziedziczeniem diamentów.
Dziedziczenie z więcej niż 1 klasy bazowej testowej prowadzi do problemu diamentów,
ale możesz mieszać i dopasowywać różne kombinacje, unikając tego problemu. Korzystanie z składanek
nie całkowicie pozbywa się dziedziczenia, bo klasa testowa przeglądarki nadal
musi dziedziczyć z elementu MixinBasedInProcessBrowserTest
, ale na szczęście
jest lekka i uniwersalna.