[英]Unit tests fail to run after upgrade from grails 2.3 to 2.5
將相當大的應用程序從Grails 2.3.11升級到Grails 2.5.0,我的工作大部分都能正常進行。 集成測試運行,並且run-app
大量加載夾具數據的應用程序運行良好,並且該應用程序在探索性測試中似乎運行良好,但是單元測試根本無法運行。
該錯誤和stacktrace對我不是很有幫助,並且對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 dir和那些類型的東西,以確保我沒有使用某些舊的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。 那在那里做什么...我什至都不知道。 我沒想到以前去過那里。
仍然不能解釋新創建的應用程序的輸出奇怪,因此請隨時注意!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.