Angenommen, in meinem Benutzermodell habe ich eine ChangePassword-Methode. Bei einem bereits initialisierten Benutzermodell nimmt es das neue Passwort als Parameter und führt die Datenbankarbeit durch, um das Zauberwerk zu bewirken. Die Benutzeroberfläche dafür ist ein Webformular, in dem der Benutzer sein aktuelles Passwort und sein gewünschtes neues Passwort eingibt. Der Controller überprüft dann, ob das aktuelle Passwort des Benutzers korrekt ist. Wenn ja, ruft er die ChangePassword-Methode des Benutzermodells auf. Wenn nicht, zeigt er dem Benutzer einen Fehler an.
Von dem, was ich höre, soll man das kleinste mögliche Stück Code testen, aber in diesem Fall wird dadurch vollständig ignoriert, zu prüfen, ob der Benutzer das korrekte aktuelle Passwort eingegeben hat. Was soll ich also tun?
Soll ich:
A) Nur vom Controller aus den Unit-Test durchführen und damit auch die Modellfunktion testen?
ODER
B) 2 verschiedene Tests erstellen; einen für den Controller und einen für das Modell?