Zacznij terazZacznij za darmo

Walidacja nazwy użytkownika

Tworzysz formularz rejestracyjny dla swojej strony internetowej i aktualnie pracujesz nad walidacją nazwy użytkownika. To metoda zwracająca wartość logiczną true/false, ale ma wiele rozgałęzień – chcesz się upewnić, że wszystkie można osiągnąć i że działają zgodnie z oczekiwaniami.

Aby w pełni zweryfikować tę metodę, musisz napisać kilka testów – po jednym dla każdego rodzaju scenariusza. Na szczęście nie jest to zbyt skomplikowane.

Niezbędne pakiety JUnit zostały już za ciebie zaimportowane.

To ćwiczenie jest częścią kursu

Wprowadzenie do testowania w Javie

Zobacz kurs

Instrukcje do ćwiczenia

  • Wprowadź nazwę użytkownika, która jest zbyt krótka (mniej niż 3 znaki) i nie przejdzie walidacji w teście sprawdzającym długość nazwy użytkownika.
  • Przekaż zmienną username do metody .isValidUsername() i zapisz wynik.
  • Sprawdź za pomocą asercji, że przypadek z wartością null nie przechodzi walidacji nazwy użytkownika.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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)
    }
}
Edytuj i uruchom kod