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

IDEA IllegalStateException:使用Kotlin运行JUnit测试时,服务即将终止

艾泉
2023-03-14

昨天,我正在html" target="_blank">开发我的代码库,我正在对我的代码进行单元测试,突然我在想法日志中看到了这个:

错误:Kotlin:[Internal Error]java.lang.IllegalStateException:位于org.jetbrains.Kotlin.daemon.common.CompileService$CallResult$dying.get(CompileService.kt:60)的org.jetbrains.kutlin.demon.common/CompileService$CallResult$Dining.getorg.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner.compileWithDaemonOrFallback(JpsKotlinCompilerRunner.kt:100)位于org.jetbrains.kutlin.coppilerRunner。JpsKottlinCompileerRunner.compileWithDaemonOrFallback的网站(JpskotlinComplierRunner.gt:35)org.jetbrains.kotlin.compilerRunner.JpsKotlinCompilerRunner。runK2Jvm编译器在org.jetbrains.kotlin.jps.build.KotlinBuilder.build(KotlinBuilder.kt:181)位于org.jetbrains.jps.incremental.IncProjectBuilder.runModuleLevelBuilders(IncProjectBuilders.jps.infremental.IncProjectBuilder.runBuildersForChunk(IncProject Builder.java:956),位于org.jetbrains.jps.incrementorg.jetbrains.jps.incremental.IncProjectBuilder.buildChunkIfAffected(IncProjectBuilder.java:915),位于org.jetblanis.jps.infremental.IncProjectBuilder.build_Chunks(IncProject Builder.jps.inpremental.jpProjectBuilders.runBuild),位于org.jetbrains.jps.cmdline.BuildRunner.runBuild(BuildRunner.java:138)位于org.jetblanis.jps.cddline.BuildSession.runBuild(BuildSession.java:295)位于org.jetbrains.jps.cmdline.SuildSession.run(BuildSeession.java:125)位于org.getbrains.jps.cmdline.BuildMain$MyMessageHandler$1.run(BuildMain.java:238)位于org.jetbrans.jps.service.impl.SharedThreadPoolImpl$1.run(SharedThreadPoolImpl.java:44)位于java.util.concurrent.Executors$RunnableAdapter.call(Executtors.java:511

这是JetBrains的愚人节玩笑吗?

我以前从未见过这个killall-java和IDEA重启解决了这个问题,我无法重现。这是记录在案的东西吗(我在谷歌上没有发现任何点击),还是编译Kotlin代码时IDEA中的一个一次性故障?这个错误意味着什么?

请注意,我运行的单元测试是一个简单的探索性测试,我认为它与此无关:

internal fun fetchAsListWithSiblings(): List<Message<T>> {
    val first = this
    var currentMsg = first
    val result = mutableListOf(currentMsg)
    while(currentMsg.next.isPresent) {
        val next = currentMsg.next.get()
        currentMsg = next
        result.add(next)
    }
    return result
}


@Test
fun shouldFetchSiblingsWhenFetchSiblingsIsCalledWithMultipleSiblings() {
    val expected = listOf("foo", "bar", "baz")
    val messages = Message.createMultiple(expected)

    assertThat(messages.fetchAsListWithSiblings().map { it.payload }).isEqualTo(expected)
}

共有1个答案

满雨石
2023-03-14

这是并行编译开始时的已知问题-竞争条件。通常重复构建可以解决它。这是YouTrack中的相关问题KT-15562。该问题应该最终在静态编程语言1.1.2版本中得到解决。

 类似资料:
  • 我创建了一个简单的测试来尝试Junit 5: 这就是我使用的依赖关系: 堆栈跟踪是下一步: 知道哪里出了问题吗?

  • 从很久以前的某个版本开始(大约是1.b.35版),Nutz 就偷偷的加入了 maven 的 pom.xml 文件, 极好的解决了测试时需要依赖其他 jar 包的问题,接下来就让我们使用 Maven 来进行 JUnit 测试吧。 Nutz 在 Github 的 地址为 https://github.com/nutzam/nutz(Git@OSC镜像 https://git.oschina.net/n

  • 问题内容: 我正在尝试编写一个集成测试以在本地启动Jetty服务器,然后使用客户端与其余URI进行通信并在下游调用业务逻辑。但是,当我启动码头服务器时,它不会放弃该控件,因此不会执行我的客户端。因此,我使用线程在另一个线程中启动我的码头,但是,该线程在我的客户端调用之前完成,它说连接被拒绝。我可以采取什么方法? 问题答案: 跳过,跳过 该调用将在服务器自己的线程(以及服务器所需的所有其他线程)上启

  • 我正在为java应用程序编写junit测试用例这里是junit测试代码 在eclipse中运行这段代码后,我会收到以下错误 下面是我的主要java代码 有人能帮忙解决这个错误吗?在这里,我不能单独运行两个测试函数,它们运行得很好,如何一起运行它们

  • 问题内容: 到目前为止,我有两个测试。一个仅使用jUnit框架即可正常工作。另一个使用spring-test库并在每次尝试运行该异常时创建此异常。有什么想法可能导致问题吗? Error Maven test dependencies Dependency tree 问题答案: 你是否正在使用旧版本的Eclipse(Galileo或更低版本)?还是旧版的junit插件?如果是这样,则可能是问题的原因

  • 现在您已经了解了TestNG及其各种测试,您现在必须担心如何重构现有的JUnit代码。 没有必要担心,因为TestNG提供了一种按照自己的节奏从JUnit转换到TestNG的方法。 您可以使用TestNG执行现有的JUnit测试用例。 TestNG可以自动识别并运行JUnit测试,因此您可以将TestNG用作所有现有测试的运行器,并使用TestNG编写新测试。 您所要做的就是将JUnit库放在Te