这个问题与计划方法的单元测试有关。
我正在使用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:内部执行的逻辑是否需要独立于调度程序进行测试?
答案 0 :(得分:2)
根据您的问题2:
方法Execute()
中的逻辑可以按以下方式进行测试:
只要超越列表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
}