私は少し前にこの質問をしました。これは悪い考えであり、タスクのスケジューリングと実行のカプセル化を抽象化して、単体テストから同期スケジューラーを渡すことができるようにする必要があることを今では知っています。
現在、タスク並列ライブラリ(TPL)を使用するコードがありますITaskScheduler
。タイプに何かを挿入して、スケジューリングの責任を抽出し、テストで同期代替を渡すことができるようにしたいと思います。
そのようなものは存在しますか?Task.Factory.StartNew
ラップして何かを探していますTask.ContinueWith
。自分でロールするのはそれほど手間がかかるとは思いませんが、小さな落とし穴がたくさんあると思います。すでに利用可能なものがあれば、それを行うのに時間をかけたくありません。