我有一个JUnit测试用例,我希望特定的方法调用花费很长时间(超过一分钟).我想要
我该怎么做呢?
你可以写一个实现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 = ...;
}
}
Run Code Online (Sandbox Code Playgroud)
然后在您的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);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4410 次 |
| 最近记录: |