everydayminder
본 글에서는 SpringBoot와 Spock Test Framework를 연동하는 방법에 대해 소개한다. 구성 환경 (의존성) SpringBoot: 2.4.2 Default JUnit: 5.x Spock: 1.3 Groovy: 2.5 만약, 이후에 다른 버전으로 테스트 한다면, 그에 맞는 설정 방법을 다시 확인해야할 것이다. 기본 틀잡기 Spring Initializer(https://start.spring.io/)를 활용하여, 일단 기본적인 프로젝트를 다음과 같이 설정해 보았다. plugins { id 'org.springframework.boot' version '2.4.2' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java..
"우리나라 정서상 어렵다, 현실에 맞지 않다"는 말들을 하기도 하고, 듣기도 한다. Rod Johson이 그의 저서 "Expert one-on-one J2EE Design and Development"에서 XP 기법을 소개하면서, 그 기법의 모든 것을 따르지는 않더라도 테스트 지향 개발 방법은 바람직하다고 하였다. 테스트에 대한 XP의 기법은, 코드를 작성하기 전에 먼저 테스트 코드를 작성하자 모든 코드는 단위 테스트 코드를 가져야 하고, 각 단위 테스트는 자동으로 실행될 수 있어야 한다. 버그가 발견되면 버그를 고치기에 앞서, 버그를 다시 재현해 내는 테스트 케이스를 정의한 후에 고쳐야 한다. 테스트 코드를 먼저 작성하는 것이 더 유용하다는 관점에 대해서는, 테스트 문서는 스펙 문서에 근거할 뿐만 아니..
소스의 품질을 높이기 위해, Junit을 사용하여 테스트를 자동화 하자. 본 포스트에서는 hudson에 junit 테스트를 태스크로 선언하여 빌드시 테스트를 실시하고, 그 결과를 hudson으로 리포트 하도록 설정하고자 한다. hudson에 등록한 프로젝트로부터 configure를 설정하면, 하단에 와 같이 Junit 테스트 결과를 리포트하겠다는 항목이 있다. 이 기능을 사용하기 위해, 기존에 선언한 build.xml (ant script)에 Junit 테스트 컴파일/ 수행을 하도록 추가할 것이다. 물론, 본인이 작성한 코드를 기반으로 Junit 코드들이 작성되어 있어야 한다. JUnit 테스트를 수행하고 리포트를 생성하기 위해, 기존에 작성한 build.xml을 다음과 같이 task를 추가한다. tes..