【发布时间】:2015-07-17 10:56:00
【问题描述】:
我需要为这段代码编写一个单元测试。我只是在学习如何编写单元测试。我想知道可以为以下课程专门编写的测试用例是什么
public void delay()
方法。它包含 Thread.sleep() 方法。
import org.apache.log4j.Logger;
public abstract class AbstractDelayService<T> implements DelayService<T>
{
private static Logger log = Logger.getLogger(AbstractDelayServiceTest.class);
protected DelayFunction delayFunction;
protected FailureCounter<T> failureCounter;
public AbstractDelayService(DelayFunction delayFunction, FailureCounter<T> failureCouner)
{
this.delayFunction = delayFunction;
this.failureCounter = failureCouner;
}
@Override
public void delay()
{
long delay = delayFunction.getDelay();
log.info("Delaying lookup of" + " by " + delay + " ms");
try
{
Thread.sleep(delay);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
@Override
public void reportSendSuccess(T key)
{
failureCounter.reportSendSuccess(key);
}
@Override
public void reportSendFailure(T key)
{
failureCounter.reportSendFailure(key);
}
}
【问题讨论】:
-
断言延迟前后的时间差,在一些允许的增量误差范围内?
-
使用 JUnit 在 Java 8 中进行实用单元测试 - Jeff Langr 与 Andy Hunt 和 Dave Thomas 合着。我会推荐这本书。 (有点离题)
-
测试检查生成的代码是否符合其规范。没有人能回答你的问题,因为你没有告诉我们你的代码规范。
-
这不是代码编写服务或测试编写服务。
标签: java unit-testing junit