콘텐츠로 건너뛰기

PowerMock 사용시 오류 수정

static method에 대한 테스트 방법은 power mock을 사용하면 된다.

하지만 테스트를 진행하려 하니 power mock에서 exception을 발생시킨다.

구글링으로 찾아봤더니 대략 이런 문서가 나온다. (참고)

요약하면,
javassist 라이브러리를 power mock에서 사용하게 되는데..
그 라이브러리에 버그가 있어서 3.6버전에서 문제가 있어서 3.12GA버전에서는 해결됐다.

실제로 찾아보니 javassist 라이브러리가 서로 다른 버전이 동시에 사용되고 있었다.
M2_REPO/jboss/javassist/3.7.ga/javassist-3.7.ga.jar – C:\Users\Administrator.m2\repository\jboss\javassist\3.7.ga\javassist-3.7.ga.jar
M2_REPO/org/javassist/javassist/3.14.0-GA/javassist-3.14.0-GA.jar – C:\Users\Administrator.m2\repository\org\javassist\javassist\3.14.0-GA\javassist-3.14.0-GA.jar

아마도 power mock에서는 재빠르게 최신 버전으로 라이브러리를 업데이트 한 것 같다.
정확한 버그 버전과 수정 버전은 모르겠지만, 대충 3.x버전대에서 있던 버그를 3.1x버전에서 수정한 것 같다.

일단 수정됐는지 의존성 검사를 한 번 해보고…

mvn dependency:tree

opensymphony에서 OGNL 관련 부분이 쓰던 javassist가 사라졌다.
그리고 power mock은 정상 동작한다.

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다