상태 검증과 행위 검증

song yuheon·2023년 9월 20일
0

Spring

목록 보기
78/93
post-thumbnail

상태 검증


  • 검증 대상
    테스트 대상 객체의 상태를 검증한다.
    객체의 상태는 객체의 속성 또는 반환 값 등을 포함한다.
  • 주요 관점
    테스트 후에 대상 시스템 또는 객체가 예상대로 변경되었는지 확인한다.
  • 활용 사례
    객체가 올바른 값을 반환하는지 예외가 올바르게 발생하는지 등을 검증하는 테스트에서 주로 사용된다.
  @Test
  public void shouldReturnCorrectSum() {
      Calculator calculator = new Calculator();
      int sum = calculator.add(2, 3);
      assertEquals(5, sum);
  }
  • 장점
    간단하고 직관적인 테스트 작성이 가능하다.
  • 단점
    내부 동작 방식이나 상호 작용에 대해 검증하지 않는다.

행위 검증


  • 검증 대상
    테스트 대상 객체의 행동을 검증한다.
    객체의 행동은 메서드 호출, 이벤트 발생 등을 포함한다.
  • 주요 관점
    테스트 도중에 대상 시스템 또는 객체가 어떤 행동을 하는지 확인한다.
  • 활용 사례
    어떤 메서드가 어떻게 호출되는지 몇 번 호출되는지 등을 검증하는 테스트에서 주로 사용된다.
  @Test
  public void shouldCallDependencyMethod() {
      MyDependency myDependency = mock(MyDependency.class);
      MyService myService = new MyService(myDependency);
      
      myService.performTask();
      
      verify(myDependency).doSomething();
  }
  • 장점
    객체 간의 상호 작용 및 내부 동작 방식에 대해 세밀한 검증이 가능하다.
  • 단점
    테스트 코드가 복잡해지고, 내부 구현에 의존적인 테스트가 될 가능성이 있다.

profile
backend_Devloper

0개의 댓글