用户名校验
您正在为自己的网站编写注册表单,目前在处理用户名校验。这是一个返回布尔值 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)
}
}