320x100
Spock 테스트 코드를 짜던 중 redisTemplate을 사용하는 코드가 있었다.
1 2 3 4 | def "redis 테스트"() { def redisTemplate = Mock(RedisTemplate.class) // 생략 } | cs |
그래서 위와 같이 redisTemplate을 Mock으로 만들어서 요청이 들어오면 내가 원하는 데이터를 반환하게 만들 생각으로 코드를 짰다.
org.spockframework.mock.CannotCreateMockException: Cannot create mock for class org.springframework.data.redis.core.RedisTemplate. Mocking of non-interface types requires the CGLIB library. Please put cglib-nodep-2.2 or higher on the class path. | cs |
이렇게 짜니까 2번째 줄에 위와 같은 에러가 발생했다.
RedisTemplate mock을 생성할 수 없다고 하면서 CannotCreateMockException이 발생한다.
그리고 interface 타입이 아닌 Mocking은 CGLIB 라이브러리가 필요하다고 cglib-nodep-2.2나 이보다 높은 버전을 추가하라고 한다.
1 2 3 4 5 6 7 8 9 | // build.gradle dependencies { // spock testImplementation('org.spockframework:spock-core:1.1-groovy-2.4-rc-2') testImplementation('org.spockframework:spock-spring:1.1-groovy-2.4-rc-2') testImplementation('cglib:cglib-nodep:2.2') // 추가 } | cs |
가르쳐준대로 cglib-nodep 2.2 버전을 의존성에 추가(8번째 줄)해서 해결했다.
참고 : CGLib Nodep 2.2
320x100
'Back-End (web)' 카테고리의 다른 글
[TEST] spock test example (0) | 2019.01.11 |
---|---|
[Kotlin] Default argument (디폴트 매개변수) (0) | 2019.01.06 |
[Kotlin] List, MutableList (0) | 2018.12.31 |
window gradle 설치 (0) | 2018.11.05 |
@Builder 상속에 사용하기 (0) | 2018.11.01 |
댓글