Zdjęcie: Syed Ahmad na Unsplash
Problemy
- Złożoność
- Fałszywe poczucie bezpieczeństwa.
- Obiekty równoległe / zduplikowane (rzeczywiste i pozorne)
- Konserwowalność
1. Mock tylko podmioty niebędące działalnością gospodarczą.
2. Usuń makietę, jeśli jej interfejs ma zbyt wiele zachowań.
Przykładowy kod
Źle
Dobrze
Wykrycie
To jest wzór architektoniczny. Utworzenie reguły automatycznego wykrywania nie będzie łatwe.
Wyjątki
- Mockowanie przypadkowych problemów (serializacja, bazy danych, API) jest bardzo dobrą praktyką, aby uniknąć łączenia.
Mocks, podobnie jak wiele innych podwójnych testów, są doskonałymi narzędziami. Mądry wybór, kiedy ich używać, to sztuka.
Wyobraź sobie sztukę, w której każdy aktor, zamiast prób z innymi aktorami, musiał wejść w interakcję z 25 scenarzystami. Aktorzy nigdy nie mieli wspólnych prób. Jaki byłby wynik gry?
Znany również jako
Mocking to zapach kodu
Paradoks pestycydów. Każda metoda, której używasz do zapobiegania lub znajdowania błędów, pozostawia pozostałości subtelniejszych błędów, wobec których te metody są nieskuteczne.
Boris Beizer
Inżynieria oprogramowania - świetne cytaty
Ten artykuł jest częścią serii CodeSmell.
Jak znaleźć śmierdzące części kodu