JavaRush /Java Blog /Random-KO /JUnit 파트 II

JUnit 파트 II

Random-KO 그룹에 게시되었습니다
여기에서 계속이 시작되었습니다 -> 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);
}
세 가지 테스트 방법을 추가했습니다.
@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 의 두 번째 장점은 리팩토링 의 경우입니다 . JUnit 테스트는 프로그램의 논리가 중단되지 않도록 하는 데 도움이 됩니다. 그리고 대규모 프로젝트에서는 자동 테스트 시스템 없이는 생활이 불가능합니다. 가능할 수도 있지만 프로젝트는 달팽이 속도로 움직일 것입니다... 또는 그와 비슷한 속도로... JUnit 파트 II - 4 우리 코드를 테스트로 잘 커버한다면 , 그러면 우리는 우리 고객, 우리 제품이 훌륭하게 작동할 것이라고 확신할 수 있습니다. P/S Victor Sergeev에게 깊은 감사를 드립니다!!! 다음은 그가 우리에게 가르쳤던 비디오 강의 링크입니다: 관심을 가져주셔서 감사합니다!!! 기분이 좋아!!! 그리고 신이 당신을 힌두 코드에서 구해주기를 바랍니다!!! ...또한 기사의 소스 코드를 파헤치는 데 관심이 있는 사람이 있다면... 두드리세요... 여기에서 시작 부분을 공유하겠습니다 - JUnit 파트 I
코멘트
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION