对调度程序进行单元测试有哪些策略?

Stu*_*que 14 java multithreading unit-testing

这篇文章的开头是"单元测试多线程代码中常见的模式有哪些?",但我发现其他 一些关于SO的讨论通常同意"It is Hard(TM)"和"It Depends(TM)".所以我认为减少问题的范围会更有用.

背景:我们正在实现一个简单的调度程序,它为您提供了一种在启动和停止作业时注册回调的方法,当然还可以配置调度的频率.目前,我们正在围绕java.util.Timer创建一个轻量级包装器.

方面:

  • 我还没有找到一种方法依靠唯一的公共接口(类似测试这个调度addJob(jobSchedule, jobArgs,jobListener),removeJob(jobId)).

  • 如何根据指定的时间表计算作业被调用的事实?

dfa*_*dfa 7

您可以使用记录器对象记录调度程序的每个单元测试中的顺序,时间和其他有用的东西.测试很简单:

  1. 创建一个记录器对象
  2. 配置计划
  3. 执行单元测试
  4. 检查记录器对象是否与计划"兼容"