ID 为“spock”​​的 Spock TestEngine 未能发现测试

2024-02-24

当我用Spock运行单元测试时,出现异常:

Internal Error occurred.
org.junit.platform.commons.JUnitException: TestEngine with ID 'spock' failed to discover tests
    at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverEngineRoot(EngineDiscoveryOrchestrator.java:160)
    at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discoverSafely(EngineDiscoveryOrchestrator.java:134)
    at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:108)
    at org.junit.platform.launcher.core.EngineDiscoveryOrchestrator.discover(EngineDiscoveryOrchestrator.java:80)
    at org.junit.platform.launcher.core.DefaultLauncher.discover(DefaultLauncher.java:110)
    at org.junit.platform.launcher.core.DefaultLauncher.execute(DefaultLauncher.java:86)
    at org.junit.platform.launcher.core.DefaultLauncherSession$DelegatingLauncher.execute(DefaultLauncherSession.java:86)
    at org.junit.platform.launcher.core.SessionPerRequestLauncher.execute(SessionPerRequestLauncher.java:53)
    at com.intellij.junit5.JUnit5IdeaTestRunner.startRunnerWithArgs(JUnit5IdeaTestRunner.java:71)
    at com.intellij.rt.junit.IdeaTestRunner$Repeater.startRunnerWithArgs(IdeaTestRunner.java:33)
    at com.intellij.rt.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:235)
    at com.intellij.rt.junit.JUnitStarter.main(JUnitStarter.java:54)
Caused by: java.lang.StackOverflowError
    at org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:1016)
    at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:1008)
    at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.compareToWithEqualityCheck(DefaultTypeTransformation.java:593)
    at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.compareEqual(DefaultTypeTransformation.java:617)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.compareEqual(ScriptBytecodeAdapter.java:708)
    at groovy.runtime.metaclass.java.lang.StringMetaClass.invokeMethod(StringMetaClass.groovy:32)
    at org.codehaus.groovy.runtime.InvokerHelper.invokePojoMethod(InvokerHelper.java:1017)
    at org.codehaus.groovy.runtime.InvokerHelper.invokeMethod(InvokerHelper.java:1008)
    at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.compareToWithEqualityCheck(DefaultTypeTransformation.java:593)
    at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.compareEqual(DefaultTypeTransformation.java:617)
    at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.compareEqual(ScriptBytecodeAdapter.java:708)
    at groovy.runtime.metaclass.java.lang.StringMetaClass.invokeMethod(StringMetaClass.groovy:32)

Maven版本

spock-core:2.1-groovy-3.0
spock-reports:2.1.1-groovy-3.0
groovy : 3.0.9
groovy-json : 3.0.10
groovy-xml : 3.0.10
junit:4.12

我正在将微服务从 SpringBoot 1.X 迁移到 2.X。

是的,可能是我所做的依赖项更改,但是,就我而言,我已经有了:id 'groovy'

我已开始,尝试直接在主测试文件夹中执行,我收到了该消息。 然后我检查了每个子文件夹...有些执行得很好...直到我发现一个具有相同消息的子文件夹...在有问题的子文件夹中,我正在一一检查文件(类)。Finally正如您在图片中看到的那样,我发现存在问题的班级。

我写了一些描述,它起作用了......

注意:我不喜欢空定义,因此需要添加一些描述。

继续,您可以尝试使用以下命令搜索空定义""()直接进入智能IDEA(或者你的IDE)而不是像我一样手动完成。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

ID 为“spock”​​的 Spock TestEngine 未能发现测试 的相关文章

随机推荐