반응형
안녕하세요 !!
이번에는 jUnit에서 사용하는 assertThat에 대해서 쓰임을 알아보려고 합니다 !!!
assertThat
주로 테스트 코드에서 사용하는 메서드로, 어떤 값이 기대한 조건을 만족하는지 확인할 때 사용합니다. 쉽게 말해, 테스트할 때 결과가 예상한 대로 나왔는지 검사하는 도구입니다 !!
테스트 조건 확인:
- 특정 값이 기대한 조건을 만족하는지 확인합니다.
- 예를 들어, 어떤 숫자가 특정 범위 내에 있는지, 문자열이 예상한 값과 일치하는지 등을 검사합니다.
이런것들입니다 !! 한번 예제를 봐볼까요 ??
public class PasswordEncoderTest {
@Test
public void testEncodePassword() {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String rawPassword = "zxcvvvv";
String encodePassword = passwordEncoder.encode(rawPassword);
String rawPassword2 = "zxcvvvvvvv";
String encodePassword2 = passwordEncoder.encode(rawPassword2);
System.out.println(encodePassword);
boolean matches = passwordEncoder.matches(rawPassword, encodePassword);
assertThat(matches).isTrue();
}
}
자 ! 위에처럼 썼습니다 !! 그러면 결과값이 어떨까요 ??
무사히 성공했습니다 !!! rawPassword과 그것을 encode한 encodePassword의 값과 matches한 값을 assertThat을 써서 isTrue한것이죠 !!!
그러면 이번엔 rawPassword의 값과 rawPassword2를 인코딩 한 값을 비교해볼까요 ?? 코드내용은 위에와 쪼금 다릅니다 !! 비교를 rawPassword와 encodePassword2랑 비교하죠 !!
public class PasswordEncoderTest {
@Test
public void testEncodePassword() {
BCryptPasswordEncoder passwordEncoder = new BCryptPasswordEncoder();
String rawPassword = "zxcvvvv";
String encodePassword = passwordEncoder.encode(rawPassword);
String rawPassword2 = "zxcvvvvvvv";
String encodePassword2 = passwordEncoder.encode(rawPassword2);
System.out.println(encodePassword);
boolean matches = passwordEncoder.matches(rawPassword, encodePassword2);
assertThat(matches).isTrue();
}
}
아래의 사진처럼 실패하면서 false가 나왔다고 알려주죠 ^^
참 유용하지 않나요?? ㅎㅎ
아래처럼 다양한 방식으로도 사용 할 수 있습니다 !!! assertThat에는 다양하게 테스트 할 것들이 있으니 찾아보면서 합시다 ^^
public class MyTests {
@Test
public void testNumber() {
int actual = 5;
assertThat(actual, is(5)); // actual 값이 5인지 확인합니다.
}
@Test
public void testString() {
String actual = "Hello, World!";
assertThat(actual, containsString("World")); // actual 문자열에 "World"가 포함되어 있는지 확인합니다.
}
@Test
public void testList() {
List<String> actual = Arrays.asList("apple", "banana", "cherry");
assertThat(actual, hasSize(3)); // 리스트의 크기가 3인지 확인합니다.
assertThat(actual, contains("apple", "banana", "cherry")); // 리스트가 해당 항목들을 포함하는지 확인합니다.
}
}
자 ! 마지막으로 요약해봅시다 !
assertThat
- assertThat은 테스트 코드에서 값이 기대한 조건을 만족하는지 확인할 때 사용하는 메서드입니다.
- 주로 JUnit과 Hamcrest 라이브러리와 함께 사용되어 가독성 좋고 명확한 테스트 코드를 작성할 수 있게 도와줍니다.
다음에도 좋은 정보를 가지고 오겠습니다 !
반응형
'IT > Java Spring' 카테고리의 다른 글
WebSecurityConfigurerAdapter은 이제 사용하지 않습니다 ! SecurityFilterChain으로 바꿔줍시다 ! (feat. 암호화 ) (0) | 2024.07.29 |
---|---|
Spring Tool Suite IDE( STS4 )를 설치해봅시다 !! (0) | 2024.07.25 |