Teilweise Verspottung als Code-Geruch?

8

Warum gibt es so viel Haß über "teilweise Verspottung" und den Code, der es erfordert?

Hier ist eine (theoretische) Beispielimplementierung:

%Vor%

Nun, nach meinem Verständnis ist das ein gut umgestalteter Code.

Wenn ich test operationA und operationB EINHEITEN möchte, stellen und sicher, dass die Prüfung in jedem Szenario stattfindet, aber ohne dass die Besonderheiten des Prüfcodes testen müsste Verwenden Sie teilweise Spott.

Was sehe ich nicht, dass so viele Projekte (EasyMock, Mockito usw.) Refactoring empfehlen?

    
Nelz 27.09.2010, 19:06
quelle

1 Antwort

4

Wenn Auditing wirklich eine interne Funktion der Klasse ist, sollte der Code als Teil des Komponententests getestet werden. Warum behandelt Ihre Klasse sowohl komplexe Vorgänge als auch Auditing? Könnte das Auditing in eine separate Klasse verschoben werden?

Wenn dies der Fall ist, führen Sie das Auditing als Kollaborateur mit dieser Klasse ein und verhöhnen Sie es. Wenn nicht, testen Sie das Gerät.

Sie können teilweise Mocks verwenden, aber in diesem Fall denke ich, es ist ein Hinweis darauf, dass die Klasse zu viel macht.

    
emulcahy 27.09.2010 22:56
quelle