Validation du nom d'utilisateur
Vous programmez le formulaire d'inscription de votre site Web et vous travaillez présentement sur la validation du nom d'utilisateur. C'est 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 valider complètement cette méthode, vous devez écrire plusieurs tests, un pour chaque type de scénario. Heureusement, ce n'est pas trop compliqué.
Les forfaits JUnit nécessaires ont été importés pour vous.
Cette activité fait partie du cours
Introduction aux tests en Java
Instructions de l’exercice
- Saisissez un nom d'utilisateur trop court (moins de 3 caractères) qui échouera la validation dans le test qui vérifie la longueur du nom d'utilisateur.
- Passez le
usernameà la méthode.isValidUsername()et conservez 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 ce code d’exemple.
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)
}
}