Validace uživatelského jména
Píšeš registrační formulář pro svůj web a právě pracuješ na validaci uživatelského jména. Jde o booleanovou metodu vracející true nebo false, která ale obsahuje mnoho větví – a ty chceš mít jistotu, že jsou všechny dosažitelné a budou se chovat podle očekávání.
Pro úplné ověření této metody je potřeba napsat více testů, jeden pro každý typ scénáře. Naštěstí to není nic složitého.
Potřebné balíčky JUnit jsou už naimportované.
Toto cvičení je součástí kurzu
Úvod do testování v Javě
Pokyny k cvičení
- Zadej uživatelské jméno, které je příliš krátké (méně než 3 znaky) a validací neprojde – do testu, který ověřuje kontrolu délky uživatelského jména.
- Předej
usernamemetodě.isValidUsername()a ulož výsledek. - Over, že případ s hodnotou
nullvalidací uživatelského jména neprojde.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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)
}
}