私の目標は、自分の Grails プラグインのテストを作成することです。これまでの手順:
- ステップ - Grails プラグインの「test」フォルダー内に個別の grails アプリ (この場合は testApp) を作成します。
ステップ - BuildConfig.groovy に次の行を追加して、アプリケーション - testApp に対してプラグインをインラインにします。
grails.plugin.location.PluginName = '../../../../PluginName'
問題は、単体テストでは、サービス (インライン プラグインから) が単体テストの通常のアプリのように挿入されないことです。サンプルテストは次のとおりです。
@TestFor(SampleService)
class SampleServiceUnitSpec extends UnitSpec {
def "Sample Test"(){
setup:
def test = 'ok'
when:
test = "changed"
then:
assert service
assert "changed" == test
}
}
このテストが grails アプリから実行され、サービスがアプリの一部である場合、サービスが挿入されます。このテストが、サービスを含むインライン プラグインを使用して testApp から実行される場合、サービスは挿入されません。テストがプラグイン単体テストであり、サービスがプラグインで宣言されている場合、サービスは注入されません。
テストできるようにサービスを注入する方法は? Grails プラグインの最適なテスト方法に関する適切なドキュメント、posts.etc はありますか? ありがとうございました