Bắt đầu ngayBắt đầu miễn phí

Xác thực tên người dùng

Bạn đang viết biểu mẫu đăng ký cho trang web và hiện đang xử lý việc xác thực tên người dùng. Đây là một phương thức boolean đúng/sai, nhưng có nhiều nhánh và bạn muốn đảm bảo tất cả đều có thể được bao phủ và hoạt động như mong đợi.

Để kiểm tra đầy đủ phương thức này, bạn cần viết nhiều bài kiểm thử, mỗi bài cho một loại kịch bản. May mắn là việc này không quá phức tạp.

Các gói JUnit cần thiết đã được nhập sẵn cho bạn.

Bài tập này là một phần của khóa học

Nhập môn Kiểm thử trong Java

Xem khóa học

Hướng dẫn bài tập

  • Nhập một tên người dùng quá ngắn (ít hơn 3 ký tự) và sẽ không qua được xác thực trong bài kiểm thử kiểm tra độ dài tên người dùng.
  • Truyền username vào phương thức .isValidUsername() và lưu kết quả.
  • Kiểm định rằng trường hợp null không vượt qua xác thực tên người dùng.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

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)
    }
}
Chỉnh sửa và Chạy Mã