[英]How do I unit test the scheduled logics?
这个问题是关于对预定方法进行单元测试的。
我正在使用FluentScheduler
实现计划的作业执行。
这是我的Execute
方法
public void Execute()
{
var provisioningRepo = _containerFactory.GetInstance<IProvisioningRepo>();
var discounts = provisioningRepo.GetDiscounts();
if (discounts.Count == 0)
return;
foreach (var discount in discounts)
{
//doing some logics
}
}
这是我的调度程序的“ app.config”条目。
<add key="myMinitueSchedule" value="60" />
问题1:如何测试在正确的时间执行的方法? 那是每60秒一次吗?
问题2:内部执行的逻辑需要独立于调度程序进行测试吗?
根据你的问题2:在方法内部的逻辑Execute()
可如下测试:只要outsorce在列表中的“逻辑运算” discounts
。 然后,您可以分别对方法MakeLogicThingsWithDiscount
逻辑进行单元测试:
public void Execute()
{
var provisioningRepo = _containerFactory.GetInstance<IProvisioningRepo>();
var discounts = provisioningRepo.GetDiscounts();
if (discounts.Count == 0)
return;
discounts = MakeLogicThingsWithDiscount(discounts);
}
private IEnumerable<Discount> MakeLogicThingsWithDiscount(IEnumerable<Discount> discounts)
{
//make logic things here
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.