Grails Intelli-J不能运行spock测试?(无法附加测试报告程序…)

Grails Intelli-J不能运行spock测试?(无法附加测试报告程序…),grails,intellij-idea,groovy,spock,Grails,Intellij Idea,Groovy,Spock,我试图在1.3.7中使用grails spock插件。我可以通过grailstest app:spock从终端运行测试,但是当我尝试从Intelli-J内部运行ControllerSpec测试时,我无法将test reporter附加到测试框架,或者测试框架意外退出 有人通过Intelli-J成功运行grails spock测试吗?是的,我有,我没有问题。唯一需要记住的是,当右键单击Spec类时,选择正确的intelliJ runner。因此: 右键单击类 跑 选择jUnit图标,而不是grai

我试图在1.3.7中使用grails spock插件。我可以通过grailstest app:spock从终端运行测试,但是当我尝试从Intelli-J内部运行ControllerSpec测试时,我无法将test reporter附加到测试框架,或者测试框架意外退出


有人通过Intelli-J成功运行grails spock测试吗?

是的,我有,我没有问题。唯一需要记住的是,当右键单击Spec类时,选择正确的intelliJ runner。因此:

右键单击类 跑 选择jUnit图标,而不是grails图标
当我遇到此错误消息时。。。无法附加测试报告程序。。。我通常会在IntelliJ没有显示的地方出现Groovy语法错误。这是Groovy极端语法灵活性的缺点。

我遇到了同样的问题,无法将测试报告附加到测试框架,或者测试框架意外退出

之所以发生这种情况,是因为我的jUnit*.groovy类位于文件夹\com\myproject\app中,但在这个类中,包的设置类似于包com.myprojec.app.subpacakge。正如你们所看到的,包和文件夹的值是不同的,我打破了惯例


当我检查并更正类的包和文件夹时,我看到了绿色测试。

我只是遇到了类似的问题。原因是类名与文件名不同。我在没有更改文件名的情况下意外重命名了该类,可能忘记使用IntelliJ的重命名功能?

不确定答案是否相关,但这将在IntelliJ中发生。当我从TestNG切换回JUnit框架时,我遇到了同样的问题

通过以下步骤,我很容易就解决了这个问题

1. Select the class file
2. From Top Menu Panel Click Run > Edit Configurations
3. Select the framework which you want.

在我的例子中,我选择了JUnit,错误消失了。

我在Grails2.4.5中的经验

对于那些遇到这个问题但仍然无法解决的人,我想我应该提到一个问题,如果您不通过命令行创建测试,那么这个问题很容易被忽略

似乎Spock测试文件及其类名必须以单词Spec作为后缀

例如,在FakeControllerSpec.groovy中:

如果此时intellij已经确信您的测试是junit测试或Spock以外的某个框架,那么在再次运行测试之前,您需要从Run>editConfigurations中删除配置

...
@TestFor(FakeController)
class FakeControllerSpec extends Specification {
...
}