这个问题是关于对预定方法进行单元测试的。
我正在使用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: execute内部的逻辑需要独立于调度器进行测试吗?
发布于 2018-07-23 13:10:41
根据您的问题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
}https://stackoverflow.com/questions/51471581
复制相似问题