Odpowiedź na zadane pytanie jest, moim zdaniem, "Obiekt zorientowany na wszystko wydaje się być wszystkim, o czym myślą ludzie TDD".
Dlaczego? Nie wiem Może wszyscy są programistami Java, którzy zostali zarażeni chorobą polegającą na tym, że wszystko zależy od sześciu warstw pośrednich, wtyczek zależności i adapterów interfejsu.
Programiści Java wydają się uwielbiać wszystko, co jest trudne z góry, aby "zaoszczędzić czas później".
Radzę zastosować pewne zasady Agile do TDD: Jeśli to nie powoduje problemu, nie naprawiaj tego. Nie przesadzaj z projektowaniem.
W praktyce uważam, że jeśli statyczne metody zostaną najpierw dobrze przetestowane, to nie będą przyczyną błędów u ich rozmówców.
Jeśli metody statyczne są wykonywane szybko, to nie potrzebują one próbnego.
Jeśli metody statyczne działają z materiałem spoza programu, może być potrzebna metoda próbna. W takim przypadku będziesz musiał symulować wiele różnych rodzajów zachowania funkcji.
Jeśli musisz wyśmiać statyczną metodę, pamiętaj, że istnieją sposoby na jej wykonanie: poza opcją programowania OO.
Na przykład można pisać skrypty w celu przetworzenia kodu źródłowego na formularz testowy, który wywołuje funkcję fałszywą.Można połączyć różne pliki obiektów, które mają różne wersje funkcji w programach testowych. Możesz użyć trików łącznika, aby zastąpić definicję funkcji (jeśli nie została wbudowana). Jestem pewien, że jest jeszcze kilka sztuczek, których tu nie wymieniłem.
myślę termin szukasz ponieważ jest ściśle powiązany. –
@Martin: Dzięki, znam termin, choć jest bardziej ogólny niż to, co tu robiłem. Powszechnie używane terminy często kończą się prawie tracąc znaczenie, ponieważ ludzie (ab) używają ich tak bardzo, więc zdecydowałem się użyć metafory w nadziei, że będzie to bardziej jasne. –
Pierwsze przesłuchanie "hard-wired" w miejscu ściśle powiązanego. To absolutnie genialne, jak zmiana warunków może pomóc w zrozumieniu. – jrahhali