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

Intellij在每个集成测试类之间调用AfterAllCallback

容寒
2023-03-14

背景:

我正在使用相关项目的最新版本:

  • Junit5版本5.8.1

从我的终端运行mvn clean install时,我的项目生成没有错误。我使用maven failsafe插件以这种方式在本地执行集成测试。

有很多故障保护选项可供记录,其中一些是从父POM继承的,但故障保护的行为与我预期的一样。

问题是:

如果我尝试从Intellij运行所有的集成测试,Intellij似乎会在每个测试类之间调用AfterAllCallback扩展。这与我从failsafe中看到的不同,failsafe似乎将所有测试包装在一个测试容器中,只在最后调用一次AfterAllCallback扩展。我很少从IDE中运行一个以上的集成测试类,所以我以前从未遇到过这种情况。

问题:

  • 是Intellij行为不端,还是我设置了故障保险设置来做到这一点?
  • Intellij可以配置为匹配故障保护行为吗?

共有1个答案

宣俊豪
2023-03-14

AfterAllCallback指定在每个测试类的所有测试之后运行。在里面https://junit.org/junit5/docs/current/api/org.junit.jupiter.api/org/junit/jupiter/api/extension/AfterAllCallback.html上面说:

在容器中进行所有测试之后,提供额外的行为来测试容器一次

如果(我还没有检查)故障保险的工作方式不同,它就违反了规范。

 类似资料:
  • 我使用IntelliJ的SBT插件,并创建了一个具有以下构建设置的scala项目:build.scala: 任何想法都是高度赞赏的。

  • 我有一个测试方法,看起来像: 并行工作使用可关闭的资源来控制生命周期,该资源在方法中关闭: 问题是:方法是在完成工作之前和等待超时到期之前调用的。 怎么可能?那我该怎么解决呢?

  • 在grails项目(版本2.3.7)中,我有一个使用Spock的集成测试: 这个集成测试用Spring batch启动了一个批。从现有事务启动批处理时,Spring batch不接受: 这样,测试就成功运行了。 但是我的项目中还有其他集成测试,需要事务才能正确运行。并且我的测试类中的指令“transactionnal=false”并不局限于这个测试类,而是影响在我的测试类之后触发的所有其他集成测试

  • 本文向大家介绍单元测试和集成测试之间的区别,包括了单元测试和集成测试之间的区别的使用技巧和注意事项,需要的朋友参考一下 众所周知,测试是任何应用程序或软件交付过程中最重要的阶段,因为测试不仅可以验证应用程序的质量,还可以为开发人员提供改进其产品的机会。 每个应用程序都以某种高级或低级语言进行开发,这意味着已经为其开发编写了一些代码,因此在要测试的模块的基础上,存在测试的分类,即单元测试和集成测试。

  • 本文向大家介绍接口和集成测试之间的差异。,包括了接口和集成测试之间的差异。的使用技巧和注意事项,需要的朋友参考一下 众所周知,测试是任何应用程序或软件交付过程中最重要的阶段,因为测试不仅可以验证应用程序的质量,还可以为开发人员提供改进其产品的机会。 每个应用程序都是通过将其组成部分的不同组成部分进行开发来开发的。现在我们知道,集成测试是在集成环境中测试所有组件的测试,即测试是对所有组件进行的,它们

  • 我想为类“ImageController”创建单元测试。由于映像必须由创建的用户拥有,所以我希望在执行单元测试之前创建一个用户(使用@before)。如何创建此用户?在测试UserController本身时,我做了如下操作: