Grails 3.2.4,IntelliJ 2016.3.4有一个为脚本代码生成的合成类

时间:2017-02-14 21:01:41

标签: grails intellij-idea integration-testing

从Grails 2.5.1升级到3.2.4后,我的所有集成测试都出现了错误消息。升级包括将集成测试从测试/集成转移到src / integration-test。 IntelliJ 2016.3.4不会将类识别为测试类。

5 个答案:

答案 0 :(得分:3)

我在1个文件中有2个包定义。

答案 1 :(得分:1)

我也遇到了同样的问题,如果你在包浏览器中看到你的班级,会发现你的测试类中有一个同名的类。

将测试类的代码复制到某处,只需删除您的类(这样将删除这两个类)并再次添加它并粘贴您的代码,我的问题通过这样解决。

答案 2 :(得分:1)

在我的情况下,有一个groovy类,其方法有多余的右括号。即:

class A {

   public void methodA() {
   }
 }
}

   public void methodB() {
   }
}

删除双"}"我的问题解决了。

答案 3 :(得分:0)

更改我的导入修复了问题。

旧:

import grails.test.mixin.Mock
import grails.test.mixin.TestFor
import grails.test.mixin.integration.Integration
import spock.lang.Specification

新:

import grails.test.mixin.Mock
import grails.test.mixin.integration.Integration
import grails.transaction.*
import spock.lang.*

答案 4 :(得分:0)

在我的情况下,我不得不重命名该类。我在测试班级中没有重复的班级名称,也没有过多的结束括号。

有一件事对我来说可疑:

我在app / src / main / groovy文件夹中存储了两个Groovy软件包。当我在“项目”选项卡中导航至Android视图或“项目文件”视图时,我看到了两个软件包,但是它们的前进图标不同。第一个具有看起来像Java类图标指示符,而第二个具有看起来像groovy文件指示符。在Android视图中,这两个文件看起来都位于java文件夹中。它根本没有显示groovy文件夹。我认为可能正在发生的事情是android studio可能会感到困惑,并认为我在Java和groovy中重复了该类。我认为重命名该类会让他们感到困惑。我可以向您保证,在此自定义插件项目中没有定义任何Java类。