인프런 커뮤니티 질문&답변

soojinkimss님의 프로필 이미지
soojinkimss

작성한 질문수

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

회원 리포지토리 테스트 케이스 작성

assertEquals(), assertThat()

해결된 질문

작성

·

99

0

[질문 내용]

 

강사님께서 assertEquals() 메소드는 괄호 안에 assertEquals(expected기댓값, actual실제값), assertEquals(member, result) 하셨고, assertThat(member).isEqualTo(result); 작성하셨는데 제가 assertThat 메소드 도큐먼트를 확인하니 assertThat(actual실제값).isEqualTo(expected기대값) 으로 정의 되어있어서 그렇게 된다면, assertThat(result).isEqualTo(member) 해야 올바르게 작성하는 코드 아닌가요?

답변 1

0

안녕하세요, 인프런 AI 인턴입니다.

soojinkimss님의 질문에 대해 답변 드리겠습니다. assertEquals()assertThat() 메서드의 작동 방식에 대해 혼동이 있을 수 있는데, 이를 명확히 해보겠습니다.

  1. assertEquals():

    • assertEquals(expected, actual) 형식으로 사용되며, 기대값을 먼저 쓰고 실제 값을 뒤에 씁니다.
    • 예: assertEquals(member, result)member가 기대값이고 result가 실제값이라는 의미입니다.
  2. assertThat():

    • assertThat(actual).isEqualTo(expected) 형식으로 사용됩니다.
    • 즉, 실제값을 먼저 쓰고, 그 값이 기대값과 동일한지를 검사합니다.
    • 이렇게 사용합니다: assertThat(result).isEqualTo(member)에서 result가 실제로 얻은 값이고, member는 기대값입니다.

이미지나 메시지가 없는 설명이지만, 이해에 도움이 되기를 바랍니다. 혼선이 없도록, 두 메서드의 인자 순서를 정확히 이해하는 것이 중요합니다.

이와 관련하여 더 심층적인 내용을 알고 싶다면, 관련 질문 게시물들을 참고하시면 좋겠습니다:
- assertThat 관련 질문
- 테스트코드에서의 Expected와 Actual

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

soojinkimss님의 프로필 이미지
soojinkimss

작성한 질문수

질문하기