2

Grails 2.2.3 の使用

テスト リソースを test/resources ディレクトリに保持します。それを使用してテストクラスパスを展開したい。BuildConfig.groovy に次の行を追加しました。

grailsSettings.testDependencies.add new File("${basedir}/test/resources")

その後、次のようにgrails test-app unit:失敗します。

_GrailsClasspath_groovy: 17: unable to resolve class     org.codehaus.groovy.grails.compiler.GrailsProjectCompiler
 @ line 17, column 1.

この行をコメントアウトすると、例外がなくなりました。

確かに、このコードは Grails 1.3.2 で動作しました。

更新 1

Grails 2.2.4 へのアップグレードを試みました。同じ問題

更新 2

ここに完全なスタックトレースがあります

| Error Error executing script TestApp: org/codehaus/groovy/grails/compiler/GrailsProjectCompiler (NOTE: Stack trace has been filtered. Use --verbose to see entire trace.)
java.lang.NoClassDefFoundError: org/codehaus/groovy/grails/compiler/GrailsProjectCompiler
at _GrailsClasspath_groovy.run(_GrailsClasspath_groovy:36)
at _GrailsClasspath_groovy$run.call(Unknown Source)
at _GrailsEvents_groovy$run.call(Unknown Source)
at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
at _GrailsEvents_groovy.run(_GrailsEvents_groovy:32)
at _GrailsEvents_groovy$run.call(Unknown Source)
at _GrailsClean_groovy$run.call(Unknown Source)
at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
at _GrailsClean_groovy.run(_GrailsClean_groovy:29)
at _GrailsClean_groovy$run.call(Unknown Source)
at org.codehaus.gant.IncludeTargets.leftShift(IncludeTargets.groovy:59)
at org.codehaus.gant.IncludeTargets$leftShift.call(Unknown Source)
at TestApp.run(TestApp.groovy:24)
at TestApp$run.call(Unknown Source)
at gant.Gant.prepareTargets(Gant.groovy:607)
Caused by: java.lang.ClassNotFoundException: org.codehaus.groovy.grails.compiler.GrailsProjectCompiler
... 17 more
| Error Error executing script TestApp: org/codehaus/groovy/grails/compiler/GrailsProjectCompiler
4

1 に答える 1

0

クラスですべてのビルド パス オプションを見つけることができますgrails.util.BuildSettings。テスト リソース用の特別なフォルダーが見つかりません。/test/resourcesフォルダを作成してみてください。それは同じであるべきです。

于 2013-12-30T12:12:07.777 に答える