일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- NullPointerException
- enum
- Visitor pattern
- reflection
- getOrCreate
- spring
- linebot
- Dynamic dispatch
- webhook
- double dispatch
- line messaging api
- java
- Modelmapper
- annotation
- static dispatch
- visitor proxy pattern
- Controller
- 챗봇
- 토비의 봄
- ngrok
- DtoToEntity
- mapping
- Optional
- springboot
- EntityToDto
- Today
- Total
database by narae :p
도구 소개 본문
테스트 주도 개발로 배우는 객체 지향 설계와 실천
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 - ……..
'테스트' 카테고리의 다른 글
테스트 주도 개발 주기의 유지 (0) | 2021.12.05 |
---|---|
테스트 주도 주기 시작 (0) | 2021.12.05 |
객체를 활용한 테스트 주도 개발 (0) | 2021.12.05 |
테스트 주도 개발의 핵심은 무엇인가? (0) | 2021.12.05 |