jUnit이 유명하지만 사용하기에는 Spock Framework이 더 편한 것 같다.
src 하위에 main과 test가 있고, test 밑에 java가 있을 것이다. test 밑에 groovy 디렉토리를 추가한다.
groovy 디렉토리가 그냥 회색인데 녹색이 되어야 테스트 디렉토리라고 IDE가 인식이 된 것이다.
아래 build.gradle 파일에서 apply plugin: 'groovy' 를 추가하면 녹색으로 바뀔 것이다.
build.gradle 파일
apply plugin: 'groovy'
dependencies {
testCompile ("org.spockframework:spock-core:1.1-groovy-2.4") {
exclude module: "groovy-all"
}
}
2018-10-02 현재 최신버전은 1.2-groovy-2.5 인데, 그루비 버전 때문인지 이 버전을 적용하면 아래와 같이 NoClassDefFoundError이 발생한다.
이것은 스프링 부트의 문제로 보이는데 https://stackoverflow.com/questions/50681096/groovy-2-5-0-gives-noclassdeffounderror-for-methodcalltransformation 를 보면 groovy.version 변수를 2.5로 설정을 해서 해결을 할 수 있다고 한다.
spock-core에서 exclude 시킨 이유는 스프링 부트에서 spock-core가 groovy-all을 가져오게 되면 아래와 같은 경고가 보이게 된다.
간혹 녹색으로 되지 않는 경우가 있는데 sourceSets의 단위 테스트 경로를 직접 지정을 해준다.
build.gradle 파일
apply plugin: 'groovy'
sourceSets {
unitTest {
groovy.srcDirs = [file('src/test/groovy')]
}
}
dependencies {
간혹 녹색으로 되지 않는 경우가 있는데 sourceSets의 단위 테스트 경로를 직접 지정을 해준다
재정리 build.grade
apply plugin: 'groovy'
ext['groovy.version'] = '2.5.0'
dependencies {
testCompile ("org.spockframework:spock-core:1.2-groovy-2.5") {
exclude module: "groovy-all"
}
'Programing > JVM(Java, Kotlin)' 카테고리의 다른 글
[Java] break label 문 (0) | 2019.03.09 |
---|---|
[Java] Generic in depth (0) | 2019.01.31 |
[Java8] Optional.of 쓸 때 주의할 점... (0) | 2017.08.07 |
을/를, 이/가, 은/는 을 알아서 붙여주면 좋겠다. (0) | 2017.05.04 |
Java 8 - get & put -> computeIfAbsent 바꾸기 예제 (0) | 2017.01.10 |