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

JUnit 5在测试方法完成之前的每个方法调用之后

濮波
2023-03-14

我有一个测试方法,看起来像:

@Test
test_testName()
{
   startSomeWorkInParallel();
   // waiting with await() static method and some timeout
   waitUntilActionFinishedOrFailAssert(timeout);
   checkResults();
}

并行工作使用可关闭的资源来控制生命周期,该资源在@aftereach方法中关闭:

@AfterEach
void afterEach()
{
    resource.close();
}

问题是:aftereach()方法是在test_testname()完成工作之前和等待超时到期之前调用的。

怎么可能?那我该怎么解决呢?

共有1个答案

龚跃
2023-03-14

等待方法的原始问题:

 waitUntilActionFinishedOrFailAssert(timeout);

这不是JUnit的问题。修复此方法解决了在each()方法之后顺序执行的问题。

 类似资料:
  • 问题内容: 我正在使用 dialogflow-fulfillment- nodejs 客户端开发Dialogflow webhook,以查找城市的温度。在使用服务获取城市温度时,一切正常,还会生成正确的响应,但是即使调用正确的方法,也不会将响应发送给用户。 这是Dialogflow GitHub存储库中的问题 码 控制台日志 当注释的代码运行时 当未注释的代码运行时 NodeJS Dialogfl

  • 我正在尝试使用Complettable Future异步运行两个任务。该程序异步运行,因此a()和b()以任何顺序同时首先运行。但是c()只能在a()或b()之一完成后运行 我不熟悉CompletableFuture API,有没有办法检查其中一个任务是否完成并调用下一个方法C?

  • 问题内容: 我正在使用ajax-solr。它与jquery-ui-1.8。*一起正常工作。 但是,当我将其升级到jquery-1.10。*时,出现了以下异常: 无法在初始化之前调用自动完成方法;尝试将方法称为“销毁” 问题答案: 我在自动完成小部件的初始化中得到了答案…只需添加 这将初始化发生的自动完成窗口小部件,因为在 1.10。*中 。jQuery在未正确初始化的情况下添加了错误消息以供使用功

  • 我在我的服务层有一个方法: [1]这一行获取条形码,比如然后调用另一个类中的一个方法,该方法从数据库中检索有关该项目的信息,执行计算并返回价格。可能的值可以类似于。 [2]按价格对所有值进行升序排序。因此,如果列表包含和和,则将其排序为和。 当我尝试测试此方法时,当调用时,我得到空指针异常。我如何测试这个方法?我试着搜索并找到了一些关于使用mockito的问题和答案,但我不知道如何实现它。 我目前

  • 背景: 我正在使用相关项目的最新版本: Junit5版本 从我的终端运行时,我的项目生成没有错误。我使用maven failsafe插件以这种方式在本地执行集成测试。 有很多故障保护选项可供记录,其中一些是从父POM继承的,但故障保护的行为与我预期的一样。 问题是: 如果我尝试从Intellij运行所有的集成测试,Intellij似乎会在每个测试类之间调用扩展。这与我从failsafe中看到的不同

  • testng.xml 底座 我已经使用maven在libs包中复制了所有的依赖项,并且我已经验证了selenium-docker.jar和selenium-docker-tests.jar中存在所有的main和test编译类 为创建selenium-docker.jar和selenium-docker-tests.jar而运行的命令: 用于创建Docker图像的命令: 运行测试的命令: 输出 [D