hotti: Datenkopplung zwischen View und Model (MVP)

Beitrag lesen

Tach!

Also Code == Unit, ein Unit-Test testet nur den Code?

Units sind (kleine) Einheiten deines Codes. Alles, was nicht klassenintern ist, wird getestet, und das auf positive und negative Ergebnisse. Wenn die Klasse mit anderen zusammenarbeitet, wird statt denen eine Attrappe (Mock) übergeben. Damit kann man einserseits prüfen, dass deine Klasse die richtigen Daten rausgibt und andererseits wie sie beim Erhalt bestimmter Daten reagiert.

Danke für die Info! Auf jeden Fall ist ein Unit-Test etwas mehr als nur zu prüfen, ob der Code kompiliert (das macht ja schon die IDE).

Für meine Fabrikmethoden könnte ich z.B. solche Unit-Tests automatisieren: Diese Methoden sind in kleinen Dateien (Perl-Packages in @INC/factory/) definiert und werden im Regelbetrieb über Instanzen verschiedener Klassen aufgerufen. Somit kann die aufrufende Instanz auch eine Instanz der Klasse 'Mock' sein (der Name gefällt mir, so hieß der Kater meines Nachbarn).

Als Beispiel liefert die Fabrikmethode main->configini('/path/file.ini') eine Hash-Referenz, im Fehlerfall  undef. Eine andere Methode kriegt den Namen einer Datenbank, den Namen einer Tabelle und liefert 0E0 (true) oder undef, je nachdem.

Bevor ich das angehe in die Praxis umzusetzen: Habe ich das nun richtig verstanden?

Schöne Grüße.

PS: In Perl heißt das Aufrufen einer Methode über eine Instanz, dass die Instanz an die Methode übergeben wird.