database by narae :p

도구 소개 본문

테스트

도구 소개

dbbymoon 2021. 12. 5. 17:51

테스트 주도 개발로 배우는 객체 지향 설계와 실천

3장. 도구 소개

 

3.2. JUnit4 

리플렉션을 통해 클래스 구조를 파악한 후 해당 클래스 내에서 테스트를 나타내는 것을 모두 실행 

  • 테스트 케이스 : @Test

Junit4에서는 테스트를 실행할 때 테스트 클래스의 새 인스턴스를 생성한 후 적절한 테스트 메서드를 호출한다. 매번 새 테스트 객체를 생성하기 때문에 각 테스트 간의 격리성을 확보할 수 있다.

  • 단정 

테스트 대상 객체를 호출하고 그 결과를 단정(aseertion)

- assertTrue()

- aseertNull()

- aseertEquals()

  • 예외 예상

@Test(expected=….Exception.class)

  • 테스트 픽스처

: 테스트가 시작할 때 존재하는 고정된 상태 

- 테스트가 반복 가능함을 보장. 테스트가 실행될 때마다 해당 테스트는 동일한 상태로 시작하므로 동일한 결과를 낸다.

- 테스트가 실행되기 전에 준비해서(set up) 테스트 실행이 완료된 후에 정리(tear down)한다.

- 픽스처는 해당 테스트를 정의한 클래스에서 관리하고 객체의 필드에 저장된다. 같은 클래스에 정의된 테스트는 모두 동일한 픽스처를 가지고 시작하며, 실행될 때 해당 픽스처를 변경해도 된다.

- 픽스처는 필드 초기화자(initi9ializer)에서 준비한다. 또 테스트 클래스의 생성자나 인스턴스 초기화자 블록에서 픽스처를 준비할 수도 있다. @Before, @After

  • 테스트 러너

: 클래스를 대상으로 리플렉션을 수행해 테스트를 찾아 해당 테스트를 실행한다.

 

3.3. 햄크레스트 매처와 assertThat()

  • 햄크레스트 : 매칭 조건을 선언적으로 작성하는 프레임워크 
  • 매처 : 특정 객체가 어떤 조건과 일치하는지 알려주며, 해당 조건이나 객체가 어떤 조건과 일치하지 않는 이유를 기술한다. 
  • assertThat(a, b).= assertTrue(a.matches(b))

 

3.4. jMock2: 목 객체 

  • 목 객체를 동적으로 생성하여 목을 생성하려는 타입의 구현체를 직접 작성하지 않아도 된다. 
  • 테스트 대상 객체가 그것과 상호 작용 중인 목 객체를 어떻게 호출하고 목 객체가 거기에 반응해 어떻게 동작해야 할지를 지정하는 API를 제공한다.
  • 모조 객체 : 테스트 대상 객체의 콘텍스트. 그것과 이웃하는 객체를 표현
  • 목 객체 : 테스트가 실행되는 과정에서 테스트 대상 객체의 실제 이웃을 대신
  • 예상 구문 : 테스트 과정에서 테스트 대상 객체가 그것의 이웃을 어떻게 호출해야 하는지 기술 

 

 

 

cafe24 거래대사

그룹관리자 / 관리자

상점관리자 merchantId

그룹관리자 companyType

onboarding - ……..