gpt4 book ai didi

scala - 使用 JUnit 4 进行 Gradle Scala 单元测试中的神秘 `classMethod` 测试

转载 作者:行者123 更新时间:2023-12-04 12:58:31 29 4
gpt4 key购买 nike

我在 Scala language extension for Vert.x 中遇到了 Gradle、JUnit 和 Scala 测试执行问题。最近我们从 Vert.x 2.1.RC1 升级到 2.1.RC2,我们开始看到在我们的 Cloudbees 实例等一些环境中,测试执行在测试类中查找了一个名为 classMethod 的幻象方法,该方法不存在,并且测试超时。结果,其余的测试失败。

在这个 console 实例中,您可以看到:

org.vertx.scala.tests.core.http.HttpTest > classMethod FAILED
java.lang.AssertionError: Timed out waiting for test to complete

我们不知道这个 classMethod 是什么,它来自哪里......等等。更令人毛骨悚然的是,我无法在 OSX 或 Linux (RHEL7) 环境中使用 JDK 1.7u45 和 1.7u51 复制它。

到目前为止,我们发现修复它的唯一方法是恢复到 Vert.x 2.1.RC1(见 console of run 和 RC1),但我们真的无法看到这个和这个神秘的 classMethod 之间的联系。

我们已经尝试升级到 Gradle 1.11,以防它是 Gradle 本身的问题,但没有运气。我们目前使用的是 JUnit 4.11。

唯一看起来有点可疑的是,尽管该项目使用 Scala 2.10.4,但 Gradle Scala 插件似乎是 bring in Zinc which appears to need Scala 2.9.2 。当我在本地清除 .gradle/ 文件夹时,我没有看到任何 Scala 2.9.2 正在下载。我想知道这是不是在搞砸事情?

最后,对于 HttpCompressionTest 似乎具有 classMethod 的最后一次运行,我将 javap 输出 locallythe one in Cloudbees 进行了比较,它们看起来相同。

我没有想法,有什么建议吗?

更新:作为最后的手段,我决定升级到 Vert.x 2.1.RC3-SNAPSHOT 并且都是 back to normal 。我完全不知道为什么,但我会接受:)

最佳答案

我已经看到这种行为是由(意外地)在类路径上有两个不同版本的相同库引起的。此外,当一个特定项目被打包为几个不同的 JAR 时,其中一个比其他所有项目都低。

关于scala - 使用 JUnit 4 进行 Gradle Scala 单元测试中的神秘 `classMethod` 测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22803570/

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