Kom igångKom igång gratis

Validering av användarnamn

Du skriver registreringsformuläret för din webbplats och arbetar just nu med valideringen av användarnamn. Det är en boolsk sant/falskt-metod, men den har många grenar och du vill säkerställa att alla kan nås och att de beter sig som förväntat.

För att verifiera metoden fullt ut behöver du skriva flera tester – ett för varje typ av scenario. Lyckligtvis är det inte nämnvärt komplicerat.

De nödvändiga JUnit-paketen har redan importerats åt dig.

Den här övningen är en del av kursen

Introduktion till testning i Java

Visa kurs

Övningsinstruktioner

  • Ange ett användarnamn som är för kort (färre än 3 tecken) och som inte klarar valideringen i det test som kontrollerar längden på användarnamnet.
  • Skicka username till metoden .isValidUsername() och lagra resultatet.
  • Bekräfta med ett påstående att null-fallet misslyckas med valideringen av användarnamnet.

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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)
    }
}
Redigera och kör kod