gpt4 book ai didi

java - TypeNotPresentExceptionProxy

转载 作者:IT老高 更新时间:2023-10-28 20:30:37 26 4
gpt4 key购买 nike

从 Surefire 2.6 升级到 Surefire 2.13 时,我在运行单元测试时收到 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 );

所以 Surefire 检查 @RunWith 注释以确保其类型有效。我们的测试使用 Spring,所以 @RunWith 在我们的测试类中看起来像这样:

@RunWith(SpringJUnit4ClassRunner.class)

Surefire 似乎没有找到 SpringJUnit4ClassRunner 类。我不知道为什么在 Surefire 2.6 下,测试运行良好。

有什么想法吗?

最佳答案

运行 mvn 依赖:resolve

排除任何可能潜入的 3.x 版本的 JUnit。

确保没有 TestNG 依赖项,如果有,它将加载 TestNG 注释而不是您需要的 JUnit。

关于java - TypeNotPresentExceptionProxy,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14656543/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com