簡體   English   中英

從Grails 2.3升級到2.5后,單元測試無法運行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM