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 |