gpt4 book ai didi

java - 在 JUnit 测试期间如何忽略 "Process Crashed"

转载 作者:行者123 更新时间:2023-11-30 12:08:37 25 4
gpt4 key购买 nike

我有一个 JUnit 测试,使用的方法我知道会失败

Test running failed: Instrumentation run failed due to 'Process 
crashed.'

这是“崩溃”并重新启动应用程序过程的一部分。我无法触摸发生此崩溃的代码,所以我必须接受它。

我想运行这个@Test,当它不可避免地崩溃时,无论如何都要通过测试,然后继续下一个测试。

我已经尝试用

包围代码
try {} catch() {}

我试过使用 (expected = Exception),并抛出异常

我试过了

@Test(expected = Exception.class)
public void test() throws Exception {
rogueMethod();
}

预期结果:

尽管进程崩溃,但 JUnit 测试运行时没有出现任何故障。

实际结果:每次测试都失败,导致其余测试无法继续。

如果没有办法在代码中忽略它,我至少想要一种方法在每次测试开始之前运行它,抛出失败结果,然后继续。本质上,此方法会更改应用程序的状态。

最佳答案

您是否考虑过使用 Test Orchestrator ?在其文档中指出:

Crashes are isolated. Even if one test crashes, it takes down only its own instance of Instrumentation, so the other tests in your suite still run.

我想您看到的崩溃发生在被测应用程序中,也就是说,崩溃会在发生时关闭检测。使用 Test Orchestrator 应该可以让后续测试运行,即使发生这种情况也是如此。

关于java - 在 JUnit 测试期间如何忽略 "Process Crashed",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54269763/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com