gpt4 book ai didi

java - 检查 JUnit 测试用例中的超时

转载 作者:搜寻专家 更新时间:2023-11-01 01:38:36 25 4
gpt4 key购买 nike

我有一个 JUnit 测试用例,我期望特定方法调用需要很长时间(超过一分钟)。我要

  1. 进行方法调用。
  2. 确保方法调用至少需要一分钟,如果没有,则 JUnit 断言失败。
  3. 然后终止方法调用(假设它花费的时间超过一分钟),因为它可能需要很长时间。

我该怎么做?

最佳答案

您可以编写一个实现 runnable 的类来包装感兴趣的方法;假设允许生成线程。

public class CallMethod implements Runnable
{
//time in milli
public long getStartTime()
{
return startTime;
}

//time in milli
public long getEndTime()
{
return endTime;
}

public void run()
{
startTime = ...;
obj.longRunningMethod();
endTime = ...;
}
}

然后在您的 JUnit 中,您可以执行以下操作:

public void testCase1()
{
CallMethod call = new CallMethod();
Thread t = new Thread(call);
t.start();
t.join(60000); // wait one minute

assertTrue(t.alive() || call.getEndTime() - call.getStartTime() >= 60000);

}

关于java - 检查 JUnit 测试用例中的超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4037385/

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