当前位置: 首页 > 知识库问答 >
问题:

在Grails中的Spock单元测试在intellij中不起作用

慎星纬
2023-03-14

我正在尝试使用intellij idea运行单个spock单元测试

考虑://代码的其余部分def"测试下面"() { // 测试代码}

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

关于这个问题,公认的答案建议使用jUnit运行程序。但是使用它,代码根本无法编译(可能是因为某些插件和其他类不可用)。

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

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

但是运行中的测试给出了测试框架意外退出的错误。

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

但是在检查输出的html文件(在目标/测试报告中)时,我看到没有一个测试真正运行!

那么这里发生了什么,为什么没有运行单独的测试?

PS:

当我使用testapp命令运行所有测试时,测试按预期运行。只有单个(单元)测试未运行。

共有2个答案

李安歌
2023-03-14

尝试使用grails单元测试,并在命令行部分添加以下内容:

-dgrails.env=发展

这将在我们将运行环境更改为开发时运行测试。希望这将有助于每个人面对这样的问题。

胡景焕
2023-03-14

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

这里有一些关于它的文章。第一个似乎非常恰当:使用Spock和Maven在单个测试类中运行特定测试

这一个不是关于运行一个测试,而是有一些相关性,并谈到了Spock的测试名称转换,另外Peter Niederwieser附和评论:TestNG可以看到我的Spock(JUnit)测试结果吗?

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

 类似资料:
  • 在如何模拟Grails单元测试中使用的自动有线依赖方面,我可以提供一些建议。我省略了大部分不必要的代码,只给出了测试类和被测试文件类中的相关方法 如果不对此依赖性进行攻击或嘲弄,我就会得到错误 我尝试存根密码编码器并让它返回true 但这会给出一条错误消息: 有什么方法可以用Spock来嘲笑这种依赖吗?

  • 问题内容: 我已经通过两种方式为我的单元测试创​​建了用户: 1)为“ auth.user”创建一个大致如下的灯具: 我省去了看似不重要的部分。 2)在setUp函数中使用“ create_user”(尽管我宁愿将所有内容保留在我的Fixture类中): 请注意,两种情况下的密码均为辛普森。 我已验证该信息一次又一次正确地加载到测试数据库中。我可以使用User.objects.get来获取User

  • 我在开始使用spock测试java代码时遇到了一个问题。运行测试时出现错误: 我使用Intellij和Maven,将依赖项放入pom文件: 创建了我的简单类:(在java中) 和测试(它是spock类): 我的项目树如下所示: 我试着跟随一些教程,但可能我错过了一些东西。我的项目有什么问题,为什么测试不起作用?

  • 我对SonarRunner有以下问题。 SonarQube 以及 Sonar 运行器无法拉取 junit 格式的 xml 报告 “单元测试”或“测试覆盖率”小组件不显示。它说没有数据。我正在按照此处描述的说明进行操作 我按照描述手动创建了XML格式的报告文件,但是仍然没有成功。 下面是 XML 文件 - TEST-Firefox_210_Mac_OS.com.company.BarTest.xml

  • 我正在尝试使用Mockito在SprinBoot应用程序中进行一些jUnit测试。 现在我的服务有了一些变量,可以从通过注释: 我试图通过像这样使用来测试这个: 但是,该属性不会被填充,并保持为。 这方面有很多TPOIC,但我还没能拼凑出一个解决方案。我看到解决方案建议,但它似乎想做一个集成测试,使服务加速,但由于无法连接到数据库,服务失败了。所以这不是我想要的。 我还看到一些解决方案建议我制作一

  • 我正在将Grails2中的一系列单元测试升级到Grails3,并在使用Spock数据驱动测试格式驱动测试的域测试中遇到问题。 当我执行测试时,因为测试执行没有填充测试中的错误、字段和val引用。如前所述,这个测试适用于Grails2.5.5,所以我怀疑我缺少了Grails3中需要的一些东西。 Edited:我删除了原来在setup()中的mockForConstraints()调用,使其无效。