아래는 그 예시 코드이다.
// 참조타입으로 비교한 코드
@Test
void show_실패_존재하지_않는_id_입력() {
Long id = -1L;
// 1. 예상데이터
Article expected = null;
// 2. 실제데이터
Article article = articleService.show(id);
// 3. 비교 및 검사
assertEquals(expected,article); // ✅ 객체로 비교
}
// toString()메서드를 사용하여 문자열로 변환한 값으로 비교
@Test
void create_성공_title_content만_있는_dto_입력() {
// 1. 예상데이터
String title = "라라라라";
String content = "4444";
ArticleForm dto = new ArticleForm(null,title, content);
Article expected = new Article(4L, title, content);
// 2. 실제 데이터
Article article = articleService.create(dto);
// 3. 비교 및 검증
assertEquals(expected.toString(),article.toString());
} // ✅ toString()으로 비교
첫번째 메서드는 단순히 null의 여부만 확인하면 되었기 때문에 객체의 주솟값을 비교하면 되지만, 두번째 메서드는 객체의 값을 비교하기 때문에 toString()이 필요하다.
일단, toString()가 반환하는 값에 대해 무지했던 문제인것같다.
그리고 JUnit에서 제공하는 assertEquals()메서드가 여러타입을 각각 비교할 수 있다는 것도 새롭게 알게되었다.
개괄적으로 java+springBoot를 이해하기 위해 스터디에 들었는데, 기초부터 하고있어서 그런지 도움이 많이 되고있다 😄