Ich mache jetzt seit einem Jahr TDD, ich fühle mich ziemlich gut dabei, ich liebe meine Testsuiten und alles. Ich habe jedoch festgestellt, dass ich in letzter Zeit viele Scheinanrufüberprüfungen durchgeführt habe. Zum Beispiel hätte ich einen Dienst, dem ein Repository injiziert wird - in meinem Komponententest würde ich ein Modell des Repositorys übergeben und überprüfen, ob es innerhalb der von mir getesteten Methode aufgerufen wurde. Ich würde dann prüfen, ob die zurückgegebenen Ergebnisse korrekt sind (in einem anderen Test). Dies "fühlt" sich definitiv falsch an, da meine Unit-Tests jetzt sehr stark an die Implementierungsdetails gekoppelt sind. Ich habe gehört, dass Sie "Verhalten" testen sollten, aber in vielen Situationen, die ... emm - nicht möglich sind? Wenn Sie eine habenvoid
Methode zum Beispiel testen Sie in der Regel Nebenwirkungen. Ich meine, es ist einfach, einige einfache Code-Kata zu zeigen, in denen dies demonstriert werden kann, aber meiner Meinung nach spiegelt es die von uns geschriebenen Programme der realen Welt nicht sehr gut wider. Ist das, was ich falsch mache? Ist diese Art des Testens eine Art Anti-Muster? Ich würde mich über Ihre Meinung dazu freuen. Ich bin immer noch ein Neuling, wenn es um TDD geht.