2008-10-31 3 views
2

나는 EMMA 코드 커버 리지 리포트를 생성하려고하는데, 그 중 일부는 JMockit을 조롱 프레임 워크로 사용합니다. 대부분의 경우, 그것은 작동하지만 내 테스트의 몇 그렇게처럼의 ClassFormatError와 충돌 : 무슨 일이 일어나고 있는지EMMA를 사용하여 ClassFormatError를 얻으시겠습니까?

java.lang.ClassFormatError 
    at sun.instrument.InstrumentationImpl.redefineClasses0(Native Method) 
    at sun.instrument.InstrumentationImpl.redefineClasses(InstrumentationImpl.java:79) 
    at mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:138) 
    at mockit.internal.RedefinitionEngine.redefineMethods(RedefinitionEngine.java:73) 
    at mockit.Mockit.setUpMocks(Mockit.java:177) 
    at test.my.UnitTest.setUpBeforeClass(UnitTest.java:21) 

어떤 생각을하고, 내가 문제를 해결 할 수 있는지 여부? 또는 EMMA와 JMockit은 상호 배타적입니까?

답변

1

JMockit의 버그 인 것 같습니다 : 클래스가 이미 EMMA에 의해 계측 된 후 JMockit은 "reentry = true"모의 메서드를 만드는 데 문제가있는 것 같습니다.

"reentry = true"를 제거하면 문제가 해결됩니다.

0

"reentry = true"를 제거하는 방법 및 위치

+0

이 방법 중 하나에 대한 주석이었습니다. 자세한 정보는 JMockit Javadoc을 참조하십시오. – Epaga