Moje obecne zadanie polega głównie na pisaniu kodu testowego GUI dla różnych aplikacji, nad którymi pracujemy. Uważam jednak, że mam tendencję do kopiowania i wklejania dużej ilości kodu w ramach testów. Powodem tego jest to, że obszary, które testuję, są na tyle podobne, że wymagają powtórzenia, ale nie dość podobne, by zamknąć kod w metodach lub obiektach. Uważam, że kiedy próbuję bardziej intensywnie korzystać z klas lub metod, testy stają się trudniejsze w utrzymaniu, a czasem wręcz trudne do napisania.
Zamiast tego zwykle kopiuję dużą część kodu testowego z jednej sekcji i wklejam go do innej i wprowadzam wszelkie drobne zmiany, których potrzebuję. Nie używam bardziej uporządkowanych sposobów kodowania, takich jak używanie większej liczby zasad OO lub funkcji.
Czy inni koderzy tak się czują podczas pisania kodu testowego? Oczywiście chcę przestrzegać zasad DRY i YAGNI, ale uważam, że kod testowy (i tak automatyczny kod testowy do testowania GUI) może utrudniać przestrzeganie tych zasad. Czy też potrzebuję po prostu więcej praktyki kodowania i lepszego ogólnego systemu robienia rzeczy?
EDYCJA: Narzędzie, którego używam, to SilkTest, który jest w zastrzeżonym języku o nazwie 4Test. Testy te dotyczą głównie aplikacji komputerowych Windows, ale testowałem również aplikacje internetowe przy użyciu tej konfiguracji.