Intellij无法运行spock测试? (无法附加测试记者......)

时间:2012-03-30 14:50:25

标签: grails intellij-idea groovy spock

我正在尝试使用带有1.3.7的grails spock插件。我可以通过grails test-app :spock从终端运行测试,但是当我尝试从Intelli-J中运行ControllerSpec测试时,我得到unable to attach test reporter to test framework or test framework quit unexpectedly

有没有人通过Intelli-J成功运行grails spock test?

6 个答案:

答案 0 :(得分:8)

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

  1. 右键单击类
  2. 运行
  3. 选择jUnit图标,而不是grails图标

答案 1 :(得分:0)

当我遇到此错误消息(...无法附加测试报告者...)时,我通常会在某处出现Groovy语法错误,IntelliJ没有显示。这是Groovy极端语法灵活性的缺点。

答案 2 :(得分:0)

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

之所以发生这种情况,是因为我的jUnit * .groovy类位于文件夹\ com \ myproject \ app中,但在此类中,包的设置类似于“package com.myprojec.app.subpacakge”。正如您所看到的,包和文件夹的值不同,我违反惯例。

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

答案 3 :(得分:0)

我遇到了类似的问题。原因是类名与文件名不同。我意外地重命名了这个类而没有更改文件名(可能忘了使用IntelliJ的重命名功能?)

答案 4 :(得分:0)

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

我已经按照以下步骤轻松解决了这个问题

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

在我的情况下,我选择了JUnit,错误消失了。

答案 5 :(得分:0)

(我在grails中的经验2.4.5)

对于那些遇到这个问题并且仍然卡住的人,我想如果你不通过命令行创建测试,我会提到一个很容易错过的问题。

Spock测试文件(他们的类名)似乎必须带有“Spec”字样的后缀。

例如,FakeControllerSpec.groovy

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

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