Testy są specyfikacją zachowania programu. Zmieniasz je, gdy musisz zmienić specyfikacje, ponieważ są to specyfikacje. Niektórzy przychodzą mi na myśl ...
- Gdy wymagania dotyczące kodu uległy zmianie, a test nie pasuje do nowego zachowania, należy je zaktualizować.
- Gdy niektóre wymagania stają się nieaktualne, testy, które określają to zachowanie, powinny zostać usunięte.
Podstawową jakością kodu testowego musi być czytelność. Dlatego powinieneś regularnie zmieniać testy z powodu ...
- Jeśli test jest trudny do odczytania i nie ujawnia wszystkich intencji programisty, powinien być refaktoryzowany, aby poprawić jego czytelność.
Są również przypadki, w których testy są przerywane, na przykład testy kruche dla kodu współbieżnego, który przeważnie przechodzi, ale co jakiś czas się nie udaje, mimo że kod jest poprawny. W takich przypadkach testy powinny być ustalone tak, aby były bardziej powtarzalne (może wymagać zmiany kodu, aby łatwiej było je testować - najlepiej jest unikać/ograniczać współbieżność z odpowiednimi wzorami projektowymi).
Doskonałe pytanie. –