我正在为我的插件项目插件创建一个Spock测试,我的主项目名称是main-project,它使用project-plugin作为插件.因此,当我为我的插件创建Spock测试时,抛出上面的错误意味着它的警告项目插件由于下面的类而有错误.
为插件创建Spock测试与为主项目创建Spock测试有所不同.
例如,我创建了一个新的示例项目,并为服务创建了spock测试,该测试没有任何错误.
import grails.test.mixin.TestFor import spock.lang.Specification @TestFor(DataimportService){ }
我也尝试使用命令grails刷新依赖关系> refresh-dependencies -dplugins.useInline = true刷新依赖项.但仍然是同样的错误.
我应该使用main-project或plugin-project运行我的单元测试用例.
如何排序这个问题.
谢谢.
解决方法
我在我工作的应用程序中为内联插件创建了许多Spock测试(单元和集成).基本上应用程序是一个shell和一些inplace-plugins – 应用程序本身很简单.
组织非常简单.每个应用程序中的BuildConfig.groovy选择使用grails.plugin.location.’plugin-name’=’../../plugins/plugin-name’组成的插件
+- applications | | | +- app1 | +- app2 | +- app3 | +- plugins | +- plugin1 +- plugin2 (there are > 30 plugins in total)
手动或通过IntelliJ IDE创建测试没什么特别之处.测试全部存在于应用程序中>测试> [整合| unit]文件夹(是的,我应该重构以使代码覆盖正常工作).
适用于域类,控制器或服务. (Grails 2.4.3 / 2.4.5)
import grails.test.mixin.TestFor import grails.test.mixin.Mock import spock.lang.specification import spock.lang.Unroll @TestFor(SomeService) @Mock([OtherService]) class SomeService extends Specification { def "some method"() { given: // setup when: // action then: // test outcomes cleanup: // undo any MetaClassing,etc } }