테스트
테스트 코드 시간 줄이기
테스트 코드의 속도 TDD를 이용하여 개발을 진행하다 보면 테스트 속도가 개발 과정에서 영향을 미치는 일이 점점 많아진다. 회고덕 프로젝트를 진행하는 과정에서 테스트 속도를 최적화했던 과정을 공유하고자 한다. DirtiesContext 제거이전 이는 굉장히 초반에 제거한 부분으로, 테스트 속도의 개선이 가장 눈에 띄었던 부분이다. DirtiesContext란? @DirtiesContext는 인수테스트시에 사용하는 메서드인데, 이는 개발자가 정한 기준 (테스트 수행 전/후, 각 테스트 케이스 수행 전/후 등)에 맞춰서 Context를 매번 재생성하여 테스트 격리를 만드어두는 것이다. 스프링 공식문서 링크 테스트 결과 과거 코드의 경우에는 테스트코드가 굉장히 적어서, 현재 회고덕 코드에 DirtiesCont..
[TDD] Test-Driven-Development란 무엇인가
1. TDD란 무엇인가 많은 개발자들이 개발보다는 디버깅에 많은 시간을 소요한다고 한다. '만들긴 했는데... 문제가 있어...!' '조금 수정했는데... 갑자기 프로그램이 안 돌아가!' 싶은 문제들이 계속 발견된다는 것. "왜... 되는 거지?"와 "왜... 안 되는 거지?"가 반복되다 보면 개발자들은 절망에 빠지게 된다. 사실 나도 해야 되는데... 만 생각하고 늘 미루던 것이 TDD였기에, 우테코에서 실행하며 계속 감을 잡고 있는 중이다. 1.1 TDD란 이때, 이를 해결하기 위한 방법으로 나타난 것이 TDD, 즉 Test Driven Development이다. 이는 말 그대로 테스트가 주도하는 개발을 의미하는데, 반복 테스트를 이용한 소프트웨어 방법론으로, 작은 단위의 테스트 케이스를 작성하고 이..
[JUnit5] 테스트 기초 알아보기
우테코를 하며... 처음으로 말로만 들어보던 "TDD" 를 시작했다. 프리코스에서도 최대한 적용해보려고 했으나... 못했던 부분이기에 최대한 서치와 공부를 하며 기초적인 부분을 쌓았던 부분을 정리하고자 한다. 아직 앞으로 공부할게 잔뜩이다. 화이팅!!!! 1. JUnit5 5란? 테스트를 위한 프레임워크로, Java 8 이상의 버전에서 적용된다. JUnit5의 세부 모듈은 Jupiter, Vintage, JUnit Platform 으로 구성되어있다. JUnit Platform JVM에서 테스트 프레임워크를 실행하는데 기초를 제공한다. TestEngine API를 제공해 테스트 프레임워크를 개발할 수 있다. Jupiter & Vintage Jupiter와 Vintage는 JUnit Platform이 제공하..