JavaRush /Java Blog /Random-JA /JUnit パート II

JUnit パート II

Random-JA グループに公開済み
続きは ここから始まります -> JUnit パート I
JUnit パート II - 1
また、このメソッドがどのように機能するかについても説明しますAssert.fail(String)。このメソッドが呼び出される場合、テストは失敗します。クラスの他のメソッドがAssert チェックできない場合に便利です。の受け入れを禁止する必要があるとしましょうnew String(“”)。コンストラクターでこれを実行して、 の受け渡しを無効にしてみましょうname = “” || null, age = 0; Sex = null。行きましょう...テスト用にフィールドを追加しました
private User user;
private User user1;
private User user2;

private User userNotAdd;
private User userNotAdd1;
そして方法を変えましたsetUp()
@Before
public void setUp() throws Exception {
    user = new User("Eugene", 35, Sex.MALE);
    user1 = new User("Marina", 34, Sex.FEMALE);
    user2 = new User("Alina", 7, Sex.FEMALE);

    userNotAdd = new User("", 0, null);
    userNotAdd1 = new User(null, 0, null);
}
3 つのテスト方法を追加しました
@Test
public void newUser_EMPTY_NAME() {
    for (User user : User.getAllUsers()){
        if (user.getName() != null && user.getName().isEmpty()) {
            Assert.fail("Попытка создания пользователя с пустым именем");
        }
    }
}

@Test
public void newUser_AGE_ZERO() {
    for (User user : User.getAllUsers()) {
        if (user.getAge() <= 0) {
            Assert.fail("Попытка создания пользователя c не допустимым возрастом");
        }
    }
}

@Test
public void newUser_SEX_NO_NULL() {
    for (User user : User.getAllUsers()) {
        if (user.getSex() == null) {
            Assert.fail("Попытка создания пользователя с указанием пола = null");
        }
    }
}
テストでは、追加されたユーザーのリストを調べて、無効なデータがないかどうかを確認します。テストを一括で実行すると、次の図が表示されます... JUnit パート II - 2 コンストラクターのテストが壊れており、さらにいくつかのテストもキャッチされていることがわかります。次に、追加しないようにコンストラクターを変更する必要があります。ユーザーのリストに対して無効なパラメーターを持つユーザーの場合は、次のようにしてみましょう。
public User(String name, int age, Sex sex) {
    if (name != null && !name.isEmpty() && age > 0 && sex != null){
        this.name = name;
        this.age = age;
        this.sex = sex;

        if (!hasUser()) {
            countId++;
            this.id = countId;
            allUsers.put(id, this);
        }
    }
}
テストを実行すると、すべてが美しいことがわかります。 JUnit パート II - 3 要約すると、JUnitはコードをテストでカバーするための優れたツールです。JUnit はMavenと連携するとさらにうまく機能します。プロジェクトをビルドするとき、Mavenはすべてのテストを確実に実行し、完成したプロジェクトをビルドします。ただし、テストが失敗した場合、プロジェクトはビルドされず、その理由がわかります。どこに故障があるのか​​を正確に把握しやすくなります。JUnitの 2 番目の利点は、リファクタリングの場合です。JUnitテスト、プログラムのロジックが壊れていないことを確認するのに役立ちます。そして、大規模なプロジェクトでは、自動テスト システムなしでは生きていけません。可能かもしれませんが、プロジェクトはカタツムリのような速度で進みます... またはそのようなものです... JUnit パート II - 4 コードをテストで適切にカバーすると、そうすれば、クライアントである私たちの製品がうまく機能することを確信できます。追記:ヴィクトル・セルゲイエフに深く感謝の意を表します!彼が私たちに教えてくれたビデオレッスンへのリンクは次のとおりです。 ご清聴ありがとうございました!!!良い気分を持ってください!そして神があなたをヒンドゥー法典から救ってくださいますように! ...また、この記事のソース コードを詳しく調べることに興味のある人がいたら、ノックしてください... ここで最初の部分を共有します - JUnit パート I
コメント
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION