gpt4 book ai didi

unit-testing - 从 grails 2.3 升级到 2.5 后单元测试无法运行

转载 作者:行者123 更新时间:2023-12-02 14:50:48 24 4
gpt4 key购买 nike

将一个相当大的应用程序从 Grails 2.3.11 升级到 Grails 2.5.0,我的大部分工作都在工作。集成测试运行,run-app加载大量夹具数据的效果很好,并且该应用程序似乎在探索性测试中运行良好,但单元测试根本不会运行。

错误和堆栈跟踪对我来说不是很有帮助,并且在 Google 上的搜索结果也不大,所以我想知道是否有人对正在发生的事情有任何想法。

当我运行 grails test-app unit:错误几乎立即抛出:

Error running unit tests: org.spockframework.extension.ReportExtension.start()
...
| Error Exception in thread "org.spockframework.runtime.RunContext.stop()"
| Error java.lang.AbstractMethodError: org.spockframework.extension.ReportExtension.stop()V
| Error at org.spockframework.runtime.GlobalExtensionRegistry.stopGlobalExtensions(GlobalExtensionRegistry.java:111)
| Error at org.spockframework.runtime.RunContext.stop(RunContext.java:67)
| Error at org.spockframework.runtime.RunContext.access$000(RunContext.java:30)
| Error at org.spockframework.runtime.RunContext$2.run(RunContext.java:159)

我曾尝试删除所有单元测试并一次更换一个,但没有运气。我还用 grails clean 做了很多清理工作。并删除 .grails 目录和那些类型的东西,以确保我没有使用一些旧的 spock 插件,因为该应用程序曾使用过它,但同样没有运气。即使只使用新安装的脚手架模板中的一个新生成的单元测试运行也会有同样的问题。如果没有单元测试,它不会提示。

有趣的是,一个新创建的应用程序似乎也不能完美运行,但我无法判断问题是否相关。在该应用程序中,只有 3 个域和测试全部使用 grails generate-domain-class 生成输出如下所示:
| Running 3 unit tests... 1 of 3
| Failure: initializationError(org.junit.runner.manipulation.Filter)
| java.lang.Exception: No tests found matching grails test target pattern filter from org.junit.runner.Request$1@5ea22f37
at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:40)
at org.junit.runner.JUnitCore.run(JUnitCore.java:115)
| Completed 1 unit test, 1 failed in 0m 0s

由于问题似乎有点可能与我的系统和我的 Grails 安装有关,我将添加我正在运行 Ubuntu,并通过 GVM 安装 Grails

最佳答案

我的主应用程序的问题是 lib 文件夹中有一个旧的 Spock jar。那是在做什么……我什至不知道。我以前没想到那里看。

仍然没有解释新创建的应用程序的奇怪输出,所以请随意插话!

关于unit-testing - 从 grails 2.3 升级到 2.5 后单元测试无法运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30737902/

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