LoslegenKostenlos loslegen

Benutzernamen validieren

Du entwickelst das Anmeldeformular für deine Website und arbeitest gerade an der Validierung des Benutzernamens. Es handelt sich um eine boolesche true/false-Methode, allerdings gibt es viele Verzweigungen. Du willst sicherstellen, dass alle erreichbar sind und sich wie erwartet verhalten.

Um diese Methode vollständig zu überprüfen, musst du mehrere Tests schreiben, jeweils einen pro Szenario. Zum Glück ist das nicht allzu kompliziert.

Die erforderlichen JUnit-Pakete wurden bereits für dich importiert.

Diese Übung ist Teil des Kurses

Einführung in das Testen in Java

Kurs anzeigen

Anleitung zur Übung

  • Gib einen Benutzernamen ein, der zu kurz ist (weniger als 3 Zeichen), sodass die Validierung im Test zur Prü­fung der Benutzernamenlänge fehlschlägt.
  • Übergib den username an die Methode .isValidUsername() und speichere das Ergebnis.
  • Stelle durch eine Assertion sicher, dass der null-Fall bei der Benutzernamenvalidierung fehlschlägt.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

public class Main {
    public static void main(String[] args) {
		launchTestsAndPrint(UsernameValidatorTest.class);
    }
}

class UsernameValidator {
    public static boolean isValidUsername(String username) {
                return username != null && !username.isEmpty() && !username.contains(" ") && username.length() >= 3;
    }
}

class UsernameValidatorTest {

    @Test
    void isValidUsername_returnsTrue_whenValidUsername() {
        String username = "john_doe";
        boolean actual = UsernameValidator.isValidUsername(username);
        assertTrue(actual);
    }

    @Test
    void isValidUsername_returnsFalse_whenSpaces() {
        String username = "john doe";
        boolean actual = UsernameValidator.isValidUsername(username);
        assertFalse(actual);
    }

    @Test
    void isValidUsername_returnsFalse_whenShortUsername() {
        // Enter a username that is too short
        String username = "____";
        boolean actual = UsernameValidator.isValidUsername(username);
        assertFalse(actual);
    }

    @Test
    void isValidUsername_returnsFalse_whenNull() {
    	String username = null;
        // Pass the username to isValidUsername 
        boolean actual = UsernameValidator.____(____);
        // Verify the username is invalid
        ____(actual)
    }
}
Code bearbeiten und ausführen