我的目标是为我自己的 Grails 插件编写测试。迄今为止采取的步骤:
- 步骤 - 在 Grails Plugin '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?谢谢你