what test stands reports pom plugin for example does are java maven exception junit surefire

java - test - TypeNotPresentExceptionProxy



surefire test (1)

Al actualizar de Surefire 2.6 a Surefire 2.13, obtengo un TypeNotPresentExceptionProxy al ejecutar mis pruebas unitarias.

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)

En JUnit4TestChecker , la línea 64 se ve así:

Annotation runWithAnnotation = testClass.getAnnotation( runWith );

Entonces Surefire inspecciona la anotación @RunWith para asegurarse de que su tipo sea válido. Nuestras pruebas usan Spring, por lo que @RunWith ve así en nuestras clases de prueba:

@RunWith(SpringJUnit4ClassRunner.class)

Parece que Surefire no está encontrando la clase SpringJUnit4ClassRunner . No estoy seguro de por qué desde Surefire 2.6, las pruebas funcionan bien.

¿Algunas ideas?


Ejecutar la dependencia mvn: resolver

Excluya cualquier versión 3.x de JUnit que pueda haberse infiltrado.

Asegúrese de que no haya dependencias TestNG, de lo contrario cargará las anotaciones TestNG y no las de JUnit que necesita.