gpt4 book ai didi

java - Junit4 - 测试超时清理

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:23:14 24 4
gpt4 key购买 nike

当我运行带有注解@Test(timeout = 3000) 的测试并超时时,它会立即终止测试并且不会调用我的带有@After 注解的tearDown 方法。

在这种情况下,清理的方法是什么?

编辑:我的测试是通过网络使用 jax-rs 调用资源端点,并且测试在 http 请求中间超时。在这种情况下,我相当确定 @After 没有被调用

最佳答案

严格来说,它并没有扼杀测试,只是让测试失败了。这显然意味着用 @After 注释的方法将运行。

下面的代码对我来说很有魅力。

@Test(timeout=1)
public void testTimeout() {
try {
Thread.sleep(10);
} catch (InterruptedException ex) {}
}

@After
public void after() {
System.out.println("@After is invoked, indeed.");
}

输出是,

Testsuite: javaapplication1.MainTest
After is invoked, indeed.
Tests run: 1, Failures: 0, Errors: 1, Time elapsed: 0.054 sec

关于java - Junit4 - 测试超时清理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5102083/

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