【发布时间】:2011-06-21 01:55:09
【问题描述】:
我在我的应用程序的调度程序项目(类库)中使用了quartz.NET,这是因为我希望其他项目不知道实际的实现。将来,如果我想为 Castle Scheduler 或 Windows Scheduler 或 wathever 更改石英......我将可以灵活地更改它。
我需要在我的 Quartz.NET 项目上对每周触发器进行单元测试,我开始研究并发现目前看起来很酷的解决方案 MOLES 这个扩展基本上允许我更改 DateTime.Now 并转到未来!!
在这种情况下,从现在开始一周后,当触发器被安排触发时,但在等待了一段时间后,我悲伤地发现我的触发器没有被激活,即使更改时间和 Thread.Sleeping 几分钟...
我想走向未来的原因是因为在应用程序中我为每种请求使用不同的方法/触发器。每周、每周重复、每月、每年
有其他人对这种场景进行过单元测试吗?
有什么我路过的吗?
MOLES 可以吗?
【问题讨论】:
-
触发器有像 GetFireTimeAfter(DateTime) 这样的方法,它会告诉你下一个预期的触发时间。测试还不够吗?
-
问题是我将quartz.net 包装到我自己项目的外观中,因此它对其他项目是透明的,我想从外部测试它,而不是直接在quartz.net 上触发器作为外部应用程序甚至不知道石英触发器的存在
-
我不敢相信没有人会遇到这种情况......
标签: c# unit-testing .net-4.0 quartz.net moles