ユーザー名の検証
あなたは自分のウェブサイトのサインアップフォームを作成しており、現在はユーザー名の検証に取り組んでいます。これは true/false を返すブール型のメソッドですが、分岐が多いため、すべての分岐に到達でき、期待どおりに動作することを確認したいと考えています。
このメソッドを十分に検証するには、各シナリオに対して個別のテストを複数作成する必要があります。幸い、それほど複雑ではありません。
必要な JUnit パッケージはすでにインポートされています。
この演習はコースの一部です
Javaによるテスト入門
演習の手順
- ユーザー名の長さチェックを検証するテストで、短すぎる(3文字未満の)ユーザー名を入力し、検証に失敗させます。
usernameを.isValidUsername()メソッドに渡し、その結果を保存します。nullのケースではユーザー名の検証が失敗することをアサートします。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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)
}
}