Wstęp do dziedziczenia w praktyce

W poprzednich sekcjach poznaliśmy wiele ciekawych i przydatnych koncepcji, które umożliwiły nam unikania duplikacji kodu np. poprzez dekoratory. Teraz poprawę naszych testów umożliwi poznany mechanizm dziedziczenia. Już trochę poznaliśmy praktyczne zastosowanie dziedziczenia przy okazji tworzenia klasy nasłuchującej zdarzenia ScreenshotListener(AbstractEventListener). Teraz jednak zrobimy dużo większe zmiany w naszym kodzie 😀

Wprowadźmy więc kolejne usprawnienia do tworzonego przez nas rozwiązania!

Przypomnijmy: to bardzo ważna sprawa aby dostrzegać zduplikowany kod. Już wiele razy wydzielaliśmy powtarzający się kod do niezależnych metod czy dekoratorów aby:

  • po prostu przyspieszyć pisanie testów – nie trzeba nadmiarowo wypisywać identycznych linii,
  • co ważniejsze, aby mieć pod kontrolą reużywany kod, aby łatwo go modyfikować – w jednym miejscu,
  • wydzielać kod do osobnych plików, zmniejszając tym samym objętość plików z testami. Dzięki temu mamy krótsze i łatwiejsze do czytania testy…

Gdy się nad tym lepiej zastanowisz to ma sens 😉

Na przykład w kontekście specjalnej metody operational_helpers.visibility_of_element_wait – idealnie, że mamy ją w osobnym module operational_helpers. Gdy zmienialiśmy w niej driver na driver.wrapped_driver mogliśmy zaaplikować to łatwo w jednym miejscu. Wyobraź sobie, że nie mamy wydzielonej metody visibility_of_element_wait tylko wszędzie wrzucamy zwykły wait, bezpośrednio w naszych testach. Bylibyśmy zmuszeni wprowadzić zmianę np. związaną z wrapped_driver w każdym użyciu wait. Masa roboty, której uniknęliśmy!

TIP: Zachęcamy Ciebie do powrotu do lekcji o dziedziczeniu abyś mógł odświeżyć sobie koncepcje, które tam przerabialiśmy Wstęp do dziedziczenia.
Zatem do dzieła! 🙂

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *