НачатьНачать бесплатно

Валидация имени пользователя

Вы разрабатываете форму регистрации для своего сайта и сейчас работаете над валидацией имени пользователя. Это булев метод, возвращающий true или false, однако он содержит много ветвей, и вы хотите убедиться, что каждая из них достижима и работает корректно.

Чтобы полностью проверить этот метод, нужно написать несколько тестов — по одному для каждого типа сценария. К счастью, это не так сложно.

Необходимые пакеты JUnit уже импортированы.

Это упражнение является частью курса

Введение в тестирование на Java

Посмотреть курс

Инструкции к упражнению

  • Введите имя пользователя, которое слишком коротко (менее 3 символов) и не пройдёт валидацию в тесте, проверяющем длину имени.
  • Передайте username в метод .isValidUsername() и сохраните результат.
  • Убедитесь, что случай со значением null не проходит валидацию имени пользователя.

Интерактивное практическое упражнение

Попробуйте выполнить это упражнение, дополнив этот пример кода.

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)
    }
}
Редактировать и запускать код