48
從Surefire 2.6升級到Surefire 2.13時,運行我的單元測試時得到TypeNotPresentExceptionProxy
。TypeNotPresentExceptionProxy
java.lang.ArrayStoreException: sun.reflect.annotation.TypeNotPresentExceptionProxy
at sun.reflect.annotation.AnnotationParser.parseClassArray(AnnotationParser.java:653)
at sun.reflect.annotation.AnnotationParser.parseArray(AnnotationParser.java:460)
at sun.reflect.annotation.AnnotationParser.parseMemberValue(AnnotationParser.java:286)
at sun.reflect.annotation.AnnotationParser.parseAnnotation(AnnotationParser.java:222)
at sun.reflect.annotation.AnnotationParser.parseAnnotations2(AnnotationParser.java:69)
at sun.reflect.annotation.AnnotationParser.parseAnnotations(AnnotationParser.java:52)
at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070)
at java.lang.Class.getAnnotation(Class.java:3029)
at org.apache.maven.surefire.common.junit4.JUnit4TestChecker.isValidJUnit4Test(JUnit4TestChecker.java:64)
在JUnit4TestChecker
64行看起來是這樣的:
Annotation runWithAnnotation = testClass.getAnnotation(runWith);
所以神火考察@RunWith
註釋,以確保它的類型是有效的。我們的測試使用Spring,所以@RunWith
看起來像這樣在我們的測試類:
@RunWith(SpringJUnit4ClassRunner.class)
好像神火沒有找到SpringJUnit4ClassRunner
類。我不確定爲什麼在Surefire 2.6中,測試運行良好。
任何想法?
聽起來像一個錯誤。如果還沒有人,請你可以創建一個[bug報告](http://jira.codehaus.org/browse/SUREFIRE)。 –
感謝您的輸入。我會嘗試創建一個新的,更簡單的項目來演示相同的問題。然後打開一個錯誤報告。 – gangsta
你檢查了更新版本的原因在此期間,我們在2.18.1? – khmarbaise