1unitedpower: PHP Variablen übergabe in welcher Form sinnvoll?

Beitrag lesen

Von solchen und anderen Entwicklerwerkzeugen (Unit-Tests, Mocking) könne Andere nur träumen. Oder auch nicht, weil sie überhaupt gar keinen Plan haben.

Wenn du Unit-Testing schon selbst ins Gefecht führst, dann erkläre doch wenigstens wieso dein Ansatz deiner Meinung nach so gut testbar sein sollte. Gut zum Testen geeignet sind überschaubare, unabhängige Module, die Funktionalitäten streng nach dem Single responsibility principle voneinander trennen. Deine Lösungsschilderung liest sich eher wie das Gegenteil davon. Ich zitiere mal, Hervorhebung stammt von mir:

Es gibt nur ein Objekt. Das nimmt den Request entgegen und baut die Response zusammen. Alles was es dazu braucht, bringt es selbst mit, z.B. die Konfiguration.

Die anderen drei Antworten unter diesem Thread laufen alle auf Dependency-Injection hinaus. Das ermöglicht es Module in Isolation zu testen, weil Abhängigkeiten bei Bedarf von der Testumgebung eingefügt werden können. An dieser Stelle würde dann auch das Mocking ins Spiel kommen, nämlich genau dann, wenn die Initialisierung einer vollfunktionsfähigen Abhängigkeit zu aufwendig für den Test wäre. Dann fügt man häufig einen Mock ein, eine Art Attrappe, die nur das Minimum tut, um die zu testende Einheit zufrieden zu stellen.