Validation du nom d’utilisateur
Vous développez le formulaire d’inscription de votre site et vous travaillez actuellement sur la validation du nom d’utilisateur. Il s’agit d’une méthode booléenne vrai/faux, mais elle comporte de nombreuses branches et vous voulez vous assurer qu’elles sont toutes atteignables et se comportent comme prévu.
Pour vérifier complètement cette méthode, vous devez écrire plusieurs tests, un pour chaque type de scénario. Heureusement, ce n’est pas très compliqué.
Les packages JUnit nécessaires ont été importés pour vous.
Cet exercice fait partie du cours
Introduction aux tests en Java
Instructions
- Saisissez un nom d’utilisateur trop court (moins de 3 caractères) qui échouera à la validation dans le test qui vérifie le contrôle de longueur du nom d’utilisateur.
- Passez le
usernameà la méthode.isValidUsername()et stockez le résultat. - Vérifiez que le cas
nulléchoue à la validation du nom d’utilisateur.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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)
}
}