我正在尝试将 grails spock 插件与 1.3.7 一起使用。我可以通过终端从终端运行测试grails test-app :spock
,但是当我尝试从 Intelli-J 中运行 ControllerSpec 测试时,我得到unable to attach test reporter to test framework or test framework quit unexpectedly
.
有没有人通过 Intelli-J 成功运行 grails spock 测试?
我正在尝试将 grails spock 插件与 1.3.7 一起使用。我可以通过终端从终端运行测试grails test-app :spock
,但是当我尝试从 Intelli-J 中运行 ControllerSpec 测试时,我得到unable to attach test reporter to test framework or test framework quit unexpectedly
.
有没有人通过 Intelli-J 成功运行 grails spock 测试?
是的,我有,我对此没有任何问题。唯一要记住的是,当您右键单击 Spec 类时,要选择正确的 intelliJ 运行器。所以:
当我遇到这个错误消息时(... 这是 Groovy 极端语法灵活性的缺点。
我遇到了同样的问题“无法将测试报告附加到测试框架或测试框架意外退出”。
发生这种情况是因为我的 jUnit *.groovy 类位于文件夹 \com\myproject\app 中,但在此类中,包设置为“package com.myprojec.app.subpacakge”。如您所见,包和文件夹的值不同,我打破了惯例。
当我检查并更正类的包和文件夹时,我看到了绿色测试。
我只是有一个类似的问题。原因原来是类名与文件名不同。我不小心重命名了类而不更改文件名(可能忘记使用 IntelliJ 的重命名功能?)
不确定答案是否相关,但这将在 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
并且错误消失了。
(我在 grails 2.4.5 中的经验)
对于那些遇到这个问题并且仍然被卡住的人,我想我会提到一个如果你不通过命令行创建测试很容易错过的问题。
Spock 测试文件(及其类名)似乎必须以“Spec”一词为后缀。
例如,在FakeControllerSpec.groovy
:
...
@TestFor(FakeController)
class FakeControllerSpec extends Specification {
...
}
如果此时 intellij 确信您的测试是 junit 测试(或 Spock 以外的其他框架),您需要在Run > editConfigurations
再次运行测试之前删除配置。