개발 일지/CS

[CS] Hamcrest

미숫가루설탕많이 2023. 3. 6. 13:32

 Hamcrest는 JUnit 기반의 단위 테스트에서 사용할 수 있는 Assertion Framework이다.

 

 Hamcrest는 Java 프로그래밍 언어를 사용하는 개발자들을 위한 테스트 프레임워크로 다양한 매처(matcher)를 제공하여 테스트 케이스를 작성할 때 코드의 가독성을 높이고 유지보수성을 높일 수 있도록 도와준다.

 

 매처는 객체나 값을 검증하는 도구인데,  이 매처를 통해 다양한 타입의 객체나 값을 검증할 수 있고 작성된 코드가 자연스러운 문장으로 이어지므로 테스트 실패 메시지를 이해하기 쉽다.

 

 JUnit이나 TestNG 등 다양한 테스트 프레임워크와 함께 사용할 수도 있고 개발자가 직접 매처를 작성하여 확장할 수도 있다.

 

public class Person {
    private String firstName;
    private String lastName;

    public Person(String firstName, String lastName) {
        this.firstName = firstName;
        this.lastName = lastName;
    }

    public String getFullName() {
        return firstName + " " + lastName;
    }
}

 

 위의 getFullName() 메서드가 예상대로 작동하는지를 검증하려면 다음과 같이 테스트해볼 수 있다.

public class PersonTest {
    @Test
    public void testGetFullName() {
        Person person = new Person("Jaeyun", "Kim");
        assertThat(person.getFullName(), equalTo("Jaeyun Kim"));
    }
}

 

 assertThat() 메서드 안에서 equalTo() 매처를 사용하여 person.getFullName()의 리턴값이 "Jaeyun Kim"과 같은지를 확인하고 만약 맞다면 테스트 케이스가 통과될 것이다.

'개발 일지 > CS' 카테고리의 다른 글

[Web] Cookie  (0) 2023.03.14
[Web] HTTPS  (0) 2023.03.14
[CS] DDD  (0) 2023.03.04
[CS]Framework  (0) 2023.02.02
[DB] ACID  (0) 2023.01.30