当前位置: 首页 > 知识库问答 >
问题:

无法使用IntelliJ IDEA运行@QuarkUstest带注释的单元测试

夏弘义
2023-03-14

我无法使用IntelliJ IDEA运行@quarkustest带注释的单元测试。我得到以下错误:

org.junit.jupiter.api.extension.TestInstantiationException: TestInstanceFactory [io.quarkus.test.junit.QuarkusTestExtension] failed to instantiate test class [coza.ipcm.api.mailer.control.MailerServiceTest]: io/quarkus/security/spi/AdditionalSecuredClassesBuildIem

    at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstanceFactory(ClassBasedTestDescriptor.java:300)
    at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateTestClass(ClassBasedTestDescriptor.java:275)
    at org.junit.jupiter.engine.descriptor.ClassTestDescriptor.instantiateTestClass(ClassTestDescriptor.java:77)
    at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.instantiateAndPostProcessTestInstance(ClassBasedTestDescriptor.java:258)
    at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$2(ClassBasedTestDescriptor.java:252)
    at java.util.Optional.orElseGet(Optional.java:267)
    at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.lambda$testInstancesProvider$3(ClassBasedTestDescriptor.java:251)
    at org.junit.jupiter.engine.execution.TestInstancesProvider.getTestInstances(TestInstancesProvider.java:29)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$prepare$0(TestMethodTestDescriptor.java:106)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:105)
    at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.prepare(TestMethodTestDescriptor.java:69)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$prepare$1(NodeTestTask.java:107)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.prepare(NodeTestTask.java:107)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:75)
    at java.util.ArrayList.forEach(ArrayList.java:1257)
    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
    at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
    at java.util.ArrayList.forEach(ArrayList.java:1257)
    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.invokeAll(SameThreadHierarchicalTestExecutorService.java:38)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:125)
    at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:135)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:123)
    at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:122)
    at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:80)
    at org.junit.platform.engine.support.hierarchical.SameThreadHierarchicalTestExecutorService.submit(SameThreadHierarchicalTestExecutorService.java:32)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestExecutor.execute(HierarchicalTestExecutor.java:57)
    at org.junit.platform.engine.support.hierarchical.HierarchicalTestEngine.execute(HierarchicalTestEngine.java:51)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:229)
    at org.junit.platform.launcher.core.DefaultLauncher.lambda$execute$6(DefaultLauncher.java:197)
    at org.junit.platform.launcher.core.DefaultLauncher.withInterceptedStreams(DefaultLauncher.java:211)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:191)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:128)
    at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:69)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:230)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:58)
Caused by: java.lang.NoClassDefFoundError: io/quarkus/security/spi/AdditionalSecuredClassesBuildIem
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at io.quarkus.deployment.util.ServiceUtil.classesNamedIn(ServiceUtil.java:31)
    at io.quarkus.deployment.ExtensionLoader.loadStepsFrom(ExtensionLoader.java:206)
    at io.quarkus.deployment.ExtensionLoader.loadStepsFrom(ExtensionLoader.java:133)
    at io.quarkus.deployment.QuarkusAugmentor.run(QuarkusAugmentor.java:88)
    at io.quarkus.runner.RuntimeRunner.run(RuntimeRunner.java:114)
    at io.quarkus.test.junit.QuarkusTestExtension.doJavaStart(QuarkusTestExtension.java:249)
    at io.quarkus.test.junit.QuarkusTestExtension.createTestInstance(QuarkusTestExtension.java:394)
    at org.junit.jupiter.engine.descriptor.ClassBasedTestDescriptor.invokeTestInstanceFactory(ClassBasedTestDescriptor.java:285)
    ... 47 more
Caused by: java.lang.ClassNotFoundException: io.quarkus.security.spi.AdditionalSecuredClassesBuildIem
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:419)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:352)
    ... 57 more

我可以使用mvn test以及VS代码中的TestRunner非常好地运行这些测试。我有最新版本的IDE,在Windows和Mac上也有同样的问题。我也可以很好地运行Spring Boot单元测试。

有什么想法吗?

共有1个答案

陶福
2023-03-14

使其工作的步骤:
-启用Quarkus捆绑插件
-卸载quarkus-tools插件
-关闭IntelliJ并删除IntelliJ项目配置文件(.idea/,.iml)
-将项目再次导入IntelliJ

 类似资料:
  • 问题内容: 我正在使用javanica并注释我的hystrix命令方法,如下所示: 而且,我试图对我的后备方法进行单元测试,而不必直接调用它们,即,我想调用带注释的方法,并在抛出500错误后让它自然地流入后备方法。所有这些都在单元测试之外起作用。 在我的单元测试中,我正在使用springs 返回500个错误,这部分工作正常,但是在我的单元测试中Hystrix没有正确初始化。在测试方法的开始,我有:

  • 我试图在我的项目中使用JerseyTest框架添加ReST调用的单元测试。我复制粘贴了一个最简单的示例,但出现了一个运行时异常: 附加代码和pom依赖项:

  • 我是新来的单元测试,我试图运行一个简单的测试,但按下"运行测试"按钮后,它的负载,然后什么都没有 怎么了????!!

  • 我启动了一个项目,现在项目中有大约7个测试,使用执行整个测试套件已经花费了一分钟多的时间。 从附加输出(标志)中,我可以看到,对于每个测试类和方法,整个quarkus应用程序以及mongodb实例等依赖项都会重新启动。 这与quarkus文档在测试指南页面上的内容完全相反: 到目前为止,在我们的所有示例中,我们只为所有测试启动Quarkus一次。在运行第一个测试之前,Quarkus将启动,然后所有

  • 问题内容: 我正在关注Spring 2.5教程,并尝试同时将代码/设置更新为Spring 3.0。 在 Spring 2.5中, 我有了 HelloController (供参考): 还有一个用于 HelloController 的JUnit测试(供参考): 但是现在我将控制器更新为 Spring 3.0 ,并且现在使用注释(我还添加了一条 消息 ): 知道我正在使用JUnit 4.9,有人可以解

  • 本文向大家介绍PowerShell单行注释、多行注释、块注释的方法,包括了PowerShell单行注释、多行注释、块注释的方法的使用技巧和注意事项,需要的朋友参考一下 PowerShell的注释符分为行注释符和块注释符。行注释符使用井号(#)引起一行;块注释符使用“<#”和 “#>”来引起一段注释。 行注释符 举例如下: 块注释符、多行注释 举例如下: 这是小编每次写脚本之前,都会定义的一段关于脚