일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 1과목
- 백준
- 파이썬
- 소프티어
- MYSQL
- 데이터베이스
- 스프링
- 백준 알고리즘
- java
- kotlin
- 회고
- 백준알고리즘
- 문제풀이
- python
- 알고리즘
- 정보처리산업기사
- SQL
- SW봉사
- C++
- 코딩교육봉사
- 코딩봉사
- softeer
- programmers
- 공부일지
- CJ UNIT
- BFS
- 자바
- 프로그래머스
- 코틀린
- 시나공
- Today
- Total
목록단위테스트 (3)
JIE0025

✅ 개요일반적으로 우리는 서비스단의 단위 테스트를 작성할때, repository를 mock(가짜객체)으로 만들고, DB로의 흐름을 끊어버리는 단위테스트를 작성했었다. 최근에 외부 API를 사용하기위해 webClient를 사용했는데 이때 서비스 단에서 WebClient를 주입 받아, mock객체를 repository가 아닌 다른 대상에 처음 적용해 보게 되어 이 글을 적게 되었다. 데이터베이스에서 어떤 값을 가져와 일반적인 자체만을 검증했었다면 이번 기회로 더 다양한것을 검증해보게 된 계기가 될 것 같다. ✅ WebClient 자체를 mock객체로 만들어서, 모킹해도 된다. 이 방식에는 문제점이 있다. 아래 예제 코드를 보면 webClientMock.get()에 대한 처리부터, requestHeadersU..

✅ 개요 스프링 기반의 프로젝트에선, 코틀린을 사용해도 기존의 테스트 프레임워크인 JUnit, Assertion, Mockito를 동일하게 사용할 수 있지만.. 그래도 코틀린에 어울리게 코틀린스럽게(?) 테스트코드를 짤 수 있도록 돕는 도구들이 존재한다. (MockK와 Kotest) 이 중 오늘은 MockK를 알아보고 어떻게 단위테스트를 하는지 간단하게 알아보자. ✍️ 기술 비교 MockK외에도 코틀린을 위한 테스팅 프레임워크에는 Kotest라는 것도 있다. Kotest는 코틀린진영에서 가장 많이 사용되는 테스팅 프레임워크이다. 다양한 테스트 레이아웃을 제공하고 Kotlin DSL 스타일의 Assertion도 제공된다. Junit과 호환성이 있어 기존의 Junit과 마이그레이션 하기 용이함. 예제 코드 ..

✅ TDD TDD (Test-Driven Development) : 테스트가 주도하는 개발 테스트 코드를 먼저 작성한 후, 구현 코드 작성 단계와 리팩토링 단계를 짧은 주기로 반복하여 개발하는 ' 테스트 주도 개발 방법론' - RED : 항상 실패하는 테스트를 먼저 작성 - GREEN : 테스트가 통과하는 프로덕션 코드를 작성 - REFACTOR : 테스트가 통과하면 프로덕션 코드를 리팩토링 (불필요한 코드제거) ✅ 단위테스트 (Unit Testing) TDD 는 단위테스트가 아니다! TDD의 첫 번째 단계 인 기능 단위의 테스트 코드를 작성하는 것을 이야기함. ⏺ 테스트 코드는 왜 작성해야할까? ✔️ 위키피디아.. 단위 테스트는 개발단계 초기에 문제를 발견하게 도와준다. 단위 테스트는 개발자가 나중에 ..