Validarea numelui de utilizator
Lucrezi la formularul de înregistrare pentru site-ul tău și te ocupi în prezent de validarea numelui de utilizator. Este o metodă care returnează o valoare booleană adevărat/fals, însă are multe ramuri și vrei să te asiguri că toate pot fi atinse și se vor comporta conform așteptărilor.
Pentru a verifica această metodă în mod complet, trebuie să scrii mai multe teste – câte unul pentru fiecare tip de scenariu. Din fericire, acest lucru nu este prea complicat.
Pachetele necesare din JUnit au fost deja importate pentru tine.
Acest exercițiu face parte din cursul
Introducere în testarea în Java
Instrucțiuni pentru exercițiu
- Introdu un nume de utilizator prea scurt (mai puțin de 3 caractere), care va pica validarea în testul ce verifică lungimea numelui de utilizator.
- Transmite
usernamemetodei.isValidUsername()și stochează rezultatul. - Verifică prin aserțiune că valoarea
nullnu trece validarea numelui de utilizator.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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)
}
}