かなり大きなアプリを 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 を実行していることを追加します。