Validación de nombre de usuario
Estás creando el formulario de registro de tu sitio web y ahora estás trabajando en la validación del nombre de usuario. Es un método booleano de verdadero/falso, pero tiene muchas ramas y quieres asegurarte de que todas se puedan alcanzar y se comporten como esperas.
Para verificar por completo este método, necesitas escribir varias pruebas, una para cada tipo de escenario. Por suerte, no es demasiado complicado.
Los paquetes necesarios de JUnit ya se han importado por ti.
Este ejercicio forma parte del curso
Introducción a las pruebas en Java
Instrucciones del ejercicio
- Introduce un nombre de usuario demasiado corto (menos de 3 caracteres) que falle la validación en la prueba que verifica la comprobación de longitud del nombre de usuario.
- Pasa el
usernameal método.isValidUsername()y guarda el resultado. - Comprueba con una aserción que el caso
nullfalle la validación del nombre de usuario.
Ejercicio interactivo práctico
Prueba este ejercicio y completa el código de muestra.
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)
}
}