Проблема
У меня есть следующий метод:
public void ParseRebootData(RebootDeviceDto rebootDeviceDto)
{
if (rebootDeviceDto.RebootAtUtc.CompareTo(DateTime.UtcNow) <= 0) // if time is either now or in the past, reboot instantly
{
Console.WriteLine("Rebooting machine now");
await new Tasks.Reboot().RebootNow(); // <-- I want to test this line
}
else // schedule the reboot
{
Console.WriteLine($"Scheduling reboot at {rebootDeviceDto.RebootAtUtc}");
_backgroundJobClient.Schedule<Tasks.Reboot>(x => x.RebootNow(), rebootDeviceDto.RebootAtUtc);
}
}
_backgroundJobClient
передается путем внедрения зависимостей в конструктор.
Я хочу проверитьline await new Tasks.Reboot().RebootNow();
если он вызывается, используя метод Verify
Moq.
Мой вопрос
Поскольку Tasks.Reboot
- это просто класс, который не передается через внедрение зависимостей, я нене знаю, смогу ли я проверить этот вызов.
Одним из решений может быть создание TasksService
, которое я могу переопределить в своих модульных тестах (что может быть неплохой идеей), но я хочу знать, еслиэто возможно вообще, как есть.