我正在尝试使用带有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?
答案 0 :(得分:8)
是的,我有,我也没有问题。唯一要记住的是当你右键单击Spec类时,选择正确的intelliJ runner。所以:
答案 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
删除配置。