1

かなり大きなアプリを 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)

すべての単体テストを削除して、一度に 1 つずつ置き換えようとしましたが、うまくいきません。grails cleanまた、.grails ディレクトリとそれらの種類のものをクリーンアップして削除し、古いスポック プラグインを使用していないことを確認しようとしました。新たにインストールされたスキャフォールディング テンプレートから新たに生成された単体テストを 1 つだけ使用して実行しても、同じ問題があります。単体テストがない場合、文句はありません。

興味深いことに、新しく作成されたアプリも完全には機能しないようですが、問題が関連しているかどうかはわかりません.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 のインストールに関連している可能性がわずかにあるように思われるので、GVM 経由でインストールされた Grails で Ubuntu を実行していることを追加します。

4

1 に答える 1

0

私のメイン アプリケーションの問題は、lib フォルダーにある古い Spock jar でした。あそこで何をしていたのか...私も知りません。前にそこを見るとは思いもしませんでした。

新しく作成されたアプリからの奇妙な出力についてはまだ説明していません。

于 2015-06-09T21:18:18.340 に答える