Google의 CodePro Coverage 도구를 사용하여 Google AppEngine 프로젝트에서 단위 테스트 적용 범위를 측정하려고합니다. 그러나 테스트를 실행하면 다양한 ClassFormatError 예외가 발생합니다.Google App Engine 코드에서 Google CodePro Coverage를 사용하는 방법은 무엇입니까?
다른 사람들이 Google AppProine 프로젝트에서 작동하는 Google CodePro 적용 범위를 갖고 있습니까?
다음은 내가 추구하는 질문 라인입니다.
a) 여러 레벨의 바이트 코드 엔지니어링이 함께 작동하지 않습니다. 나는. CodePro는 GAE JPA 구현 (DataNucleus 계측기 영구 클래스)과 싸우고 있습니다.
B) 내 역할 여기
일부 RTFM 오류가 예외 :
java.lang.ClassFormatError: Invalid length 65525 in LocalVariableTable in class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:307)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:248)
JPA 고급 클래스에서만 오류가 발생합니까? JPA가 아닌 고급 클래스에서만 실행하면 어떻게됩니까? 그 결정은 a) 귀하의 문제인지 여부를 결정하는 한 가지 방법입니다. –
지속성 클래스는 대부분의 문제를 일으 킵니다. 런타임 종속성을 가질 수있는 복잡한 클래스도 문제를 일으키고 있습니다. 매우 고립 된 클래스에 대한 몇몇 테스트는 잘 작동합니다. – byeo
JSP가없는 GAE 프로젝트를 만들었습니다 (따라서 JPA 바이트 코드 엔지니어링이 필요하지 않습니다). 이 프로젝트에 대해 테스트를 실행하면 위의 문제가 발생하지 않았습니다. 나는 datanucleaus JPA enhancer를 실행하지 않는 특별한 빌드를 만드는 것을 조사 할 것입니다. 바이트 코드 계측을 사용하여 프로덕션 환경에 배포하면 안되기 때문에 장기적인 솔루션의 일부가됩니다. – byeo