【问题标题】:Stop/Cancel JUnit 5 test execution (started programmatically)停止/取消 JUnit 5 测试执行(以编程方式启动)
【发布时间】:2021-12-07 08:13:56
【问题描述】:

我有一些 JUnit 5 测试,在 OSGi 容器中运行和启动。 开始测试执行的代码看起来有点像这样:

LauncherConfig launcherConfig = LauncherConfig.builder().addTestEngines( new JupiterTestEngine() ).build();
Launcher launcher = LauncherFactory.create( launcherConfig );

LauncherDiscoveryRequest request = LauncherDiscoveryRequestBuilder.request()
     .selectors( selectClass( testName ) )
     .build();
TestPlan testPlan = launcher.discover( request );

launcher.execute( request );

由于其中一些测试需要使用物理硬件进行手动步骤,因此这些测试不会在 CI 环境中运行,而是应由测试人员手动执行。因此,测试可能会运行很长时间(特别是如果测试人员没有执行所需的手动步骤)。

问题:如何停止正在运行的测试执行?

背景:我想确保一次只运行一个测试,以避免测试之间的干扰。另一方面,我不希望一个“未完成”的测试永远阻塞测试执行。

【问题讨论】:

    标签: junit junit5


    【解决方案1】:

    今天的 JUnit5 实现似乎不支持此功能:(

    https://github.com/junit-team/junit5/issues/1880

    原定于 5.8 版发布,但未发布。 如果你有同样的问题,看看 Github issue,也许它在这之间得到了解决。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      • 1970-01-01
      • 2011-06-13
      • 1970-01-01
      • 2019-03-16
      • 2013-09-21
      • 1970-01-01
      相关资源
      最近更新 更多