Spock / Grails – Groovy:无法解析类grails.test.mixin.TestFor并且无法解析类spock.lang.Specification

我正在为我的插件项目插件创建一个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
    }
}

相关文章

背景:    8月29日,凌晨4点左右,某服务告警,其中一个...
https://support.smartbear.comeadyapi/docs/soapui/steps/g...
有几个选项可用于执行自定义JMeter脚本并扩展基线JMeter功能...
Scala和Java为静态语言,Groovy为动态语言Scala:函数式编程,...
出处:https://www.jianshu.com/p/ce6f8a1f66f4一、一些内部...
在运行groovy的junit方法时,报了这个错误:java.lang.Excep...