gpt4 book ai didi

java - 用于个人测试的 Grails 中的 Spock 单元测试在 intellij 中不起作用

转载 作者:行者123 更新时间:2023-11-30 10:45:10 25 4
gpt4 key购买 nike

我正在尝试使用 intellij idea 运行单独的 spock 单元测试。

考虑:
//其余代码
def“测试一些东西”(){
//下面的测试代码
}

在上面的测试中,当我转到测试主体和右侧上下文菜单时,我得到了两种Test Something 测试。一种是 grails 测试,另一种是 junit 测试。

引用this问题,接受的答案建议使用 jUnit runner。但是使用它,代码根本无法编译(可能是因为某些插件和其他类不可用)。

(我不确定,因为这是期望的行为,因为我只是运行一个单个测试,而不是所有测试。所以想知道为什么要编译所有类,包括不需要的插件类测试目标类。)

使用 grails runner,我检查配置,这里是屏幕截图: enter image description here

所以那里的命令看起来没有问题。

但是运行时测试出现Test framework exit unexpectedly错误。

我尝试从 grails 控制台(CMD 窗口)运行相同的命令,它运行时没有任何错误消息。

但是在检查输出的 html 文件(在 target/test-reports 中)时,我发现实际上没有运行任何测试!

那么这里发生了什么,为什么个别测试没有运行?

附言:

当我使用 test-app 命令运行所有测试时,测试按预期运行。只有个别(单元)测试没有运行。

最佳答案

为 Spock 的漂亮测试命名付出的部分代价是,您不能再指定要运行的单个测试。

这里有一些关于它的文章。第一个似乎很重要: Run a specific test in a single test class with Spock and Maven

这不是关于运行单个测试,而是有一些相关性并讨论了 Spock 的测试名称转换,加上 Peter Niederwieser 附和评论: Can TestNG see my Spock (JUnit) test results?

一个解决方法是使用 @IgnoreRest 注释。只需使用 @IgnoreRest 注释要运行的测试,然后指定要运行的测试类,只有注释的测试才会运行。 http://spockframework.github.io/spock/javadoc/1.0/spock/lang/IgnoreRest.html

关于java - 用于个人测试的 Grails 中的 Spock 单元测试在 intellij 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37152295/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com