Я задал этот вопрос некоторое время назад. Теперь я знаю, что это плохая идея, и что инкапсуляция планирования и выполнения задач должна быть абстрагирована, чтобы можно было передать синхронный планировщик из модульных тестов.
В настоящее время у меня есть код, использующий библиотеку параллельных задач (TPL ) и я хотел бы внедрить что-то вроде ITaskScheduler
в свои типы, чтобы снять ответственность за планирование и позволить мне передать синхронную альтернативу в моих тестах.
Существует ли такая вещь? Я ищу что-то, что обертывает Task.Factory.StartNew
и Task.ContinueWith
. Я не думаю, что это не слишком много труда, чтобы свернуть мой собственный, но я уверен, что есть много маленьких ошибок, и я действительно не хочу тратить время на это, если одна уже доступна.