【发布时间】: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 环境中运行,而是应由测试人员手动执行。因此,测试可能会运行很长时间(特别是如果测试人员没有执行所需的手动步骤)。
问题:如何停止正在运行的测试执行?
背景:我想确保一次只运行一个测试,以避免测试之间的干扰。另一方面,我不希望一个“未完成”的测试永远阻塞测试执行。
【问题讨论】: