Ich bin relativ neu in Unit-Tests in Java und habe eine Anwendung vollständig mit CLI erstellt. Beispiel: Nach dem Starten der Anwendung erhält der Benutzer eine Reihe solcher Optionen.
Wenn er sich anmeldet, wird er zu einer Register () -Methode übertragen, die innerhalb der Methode selbst nach Details wie Vor- und Nachnamen fragt. Ich möchte wissen, ob es eine Möglichkeit gibt, Benutzereingaben beim Erstellen der Komponententests zu simulieren, oder ob ich die Methoden überschreiben muss, damit ich Werte durch die Argumente übergeben und auf diese Weise Komponententests durchführen kann.
Idealerweise sollte Ihr Code so geschrieben sein, dass er leicht zu testen ist und die Eingabemethode keine Rolle spielt. Dies bedeutet, dass die Eingabe von der Geschäftslogik getrennt werden sollte, damit Sie beim Schreiben der Tests den Eingabeteil vollständig ignorieren können.
Zum Beispiel, anstatt eine globale Scanner
und so etwas wie die folgende zu haben, was die Methode von der Eingabemethode abhängig macht
public void login() {
String username = scanner.nextLine();
// check that the username is valid
}
Eine testbarere Methode ohne Abhängigkeiten von der Eingabemethode wäre
public void login(String username) {
// check that the username is valid
}
Stellen Sie außerdem sicher, dass Sie verstehen, was einen korrekten Komponententest ausmacht. Bei dieser Methode besteht der offensichtliche Test darin, dass Sie sich mit gültigen Anmeldeinformationen anmelden können und dass Sie sich nicht mit ungültigen Anmeldeinformationen anmelden können.
Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.
Bei Verstößen wenden Sie sich bitte [email protected] Löschen.
Lass mich ein paar Worte sagen