일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 웹해킹
- kotest
- gcp
- 프로그래머스
- gcp cloud build
- pwnable.xyz
- sequelize
- Python
- node.js
- webhacking.kr
- spring Batch
- 포너블
- 스프링 배치
- Baekjoon
- 백준
- gcp ci/cd
- 네트워크
- 사이버보안
- Batch
- 보안
- hackctf
- 웹보안
- 시스템 해킹
- programmers
- 리버싱
- 회고
- cloud run
- nodejs
- 파이썬
- docker
목록Programming/Kotlin (3)
uju's Tech
반년 넘게 ... 미뤄오던 포스팅 주제.. 드디어 작성합니다..... :--( 우리는 요구사항을 구현하고 우리가 기대한 대로 동작하는지 확인하기 위해 테스트를 작성한다. 🤔 그런데 내가 테스트하고 싶은 코드가 테스트하기 어렵다면 어떻게 테스트할 것인가? 테스트하기 어려운 코드는 데이터베이스나 외부 API 등 외부의 무엇인가에 의존하고 있는 코드일 수도, 랜덤한 값에 의존하는 동작이 있는 등 동작 자체를 예측하기 어려운 코드일 수도 있다. 예제를 통해 알아보자 주사위를 굴려 나온 눈의 숫자가 3 이하면 한 칸을 이동하고, 4 이상이면 두 칸을 이동한다는 요구사항이 있는 게임을 구현한다고 하자. 이를 간단하게 구현한다면 아래와 같은 코드를 떠올릴 수 있을 것이다. 그러면 이 코드를 테스트하려면 어떻게 해야할..
Junit의 parameterize test가 kotest에서는 data driven testing 라는 이름을 갖는다. Data Driven Testing은 테스트를 작성할 때 직접 작성한 예제를 기반으로 테스트를 할 수 있다. 앞서 포스팅했던 Property Based Testing 인 광범위한 범위의 데이터를 무작위로 테스트하는 경우와 반대되는 경우에 사용할 수 있을 것 같다. 명확하게 해당 인자가 들어갈 경우 에러를 발생한 다거나 무조건 성공해야하는 예제를 직접 명시하여 테스트할 때 Data Driven Testing을 잘 사용할 수 있을 것 같다. Dependecy 추가 사용하는 버전은 알맞게 작성해주자. testImplementation("io.kotest", "kotest-framework-..
이번에 next step (https://edu.nextstep.camp/) 에서 이펙티브 코틀린~을 수강하게 되면서 kotest 로 테스트를 작성해보게 되었다. 강의가 Junit5 을 기본으로 설명하고있어서 kotest와 Junit5 중 어떤 프레임워크를 사용할지 고민을 했다. 결론은 kotest 를 도전해보기로했다. 일단 kotest를 선택한 이유는 kotlin을 위한 테스트프레임워크이기 때문에 kotlin dsl 을 완벽하게 지원하는점 (Junit5, kotest 둘 다 사용해보지 않는 사람의 시점에서) Junit5에 비해서 간결하고 보기 좋고 Kotlin스럽게 코드를 작성할 수 있는 점 등으로 kotest 를 선택해서 테스트를 진행했다. 그리고 kotest는 테스트 스타일을 지정할 수 있는데 나는..