Spock/Grails-Groovy:无法解析Grails.test.mixin.TestFor类,也无法解析Spock.lang.Specification类
我正在为我的插件Spock/Grails-Groovy:无法解析Grails.test.mixin.TestFor类,也无法解析Spock.lang.Specification类,grails,spock,Grails,Spock,我正在为我的插件project-plugin创建一个Spock测试,我的主要项目名称是main-project,它使用project-plugin作为插件。因此,当我为我的插件创建一个Spock测试时,它抛出上面的错误意味着它的警告projectplugin由于下面的类而出错 为插件创建Spock测试将不同于为主项目创建Spock测试 例如,我创建了一个新的示例项目,并为服务创建了spock测试,该测试工作正常,没有任何错误 import grails.test.mixin.TestFor im
project-plugin
创建一个Spock测试,我的主要项目名称是main-project
,它使用project-plugin
作为插件。因此,当我为我的插件创建一个Spock测试时,它抛出上面的错误意味着它的警告projectplugin
由于下面的类而出错
为插件创建Spock测试将不同于为主项目创建Spock测试
例如,我创建了一个新的示例项目,并为服务创建了spock测试,该测试工作正常,没有任何错误
import grails.test.mixin.TestFor
import spock.lang.Specification
@TestFor(DataImportService){
}
我还尝试使用命令grails>refresh dependencies-Dplugins.useInline=true
dependencies refreshed来刷新依赖项。但仍然存在相同的错误
我应该使用主项目
或插件项目
运行单元测试用例吗
如何对这个问题进行排序
谢谢。我已经为我工作的应用程序中的内联插件创建了许多Spock测试(单元和集成)。基本上,应用程序是一个外壳和一些内置插件——应用程序本身非常简单 组织相当简单。每个应用程序中的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创建测试没有什么特别之处。这些测试都存在于应用程序>测试>[integration | unit]文件夹中(是的,我应该进行重构,以使代码覆盖率正常工作)。
适用于域类、控制器或服务。(Grails 2.4.3/2.4.5)
我也犯了同样的错误。我的Spock单元测试一直在运行,直到我尝试回滚一个无关插件的更新。我不知道怎么做,但IntelliJ不再识别我项目的任何插件 以下是我认为可以解决的问题:
- 在资源管理器中,备份并删除文件夹
C:\\[my project root]\\work\\projects\\[project name]
- 在IntelliJ IDEA(15.0.4)中,
Build->Rebuild Project
- 然后
并重新打开项目文件->关闭项目
grails clean
grails刷新依赖项
- 强制svn更新到头部
- 在IntelliJ中,
文件->使缓存无效/重新启动…
testCompile "org.grails:grails-test-mixins:3.3.0"
资料来源:
你的意思是说为project或pluginsI编写Spock测试没有什么区别我创建了一个新的示例项目并编写了Spock测试,它工作正常,但我的正式现有项目给出了类解析错误grails版本是什么,主项目的BuildConfig是什么样子的?可能有什么问题。我使用的是2.4.4,它和默认的一样,需要额外的插件
testCompile "org.grails:grails-test-mixins:3.3.0"