前一陣子我問了this question。我現在知道這是一個糟糕的想法,應該抽象封裝任務的調度和運行,以便可以從單元測試中傳入一個同步調度器。在Task Parallel Library中是否有一個接口包裝,以便我可以將它交換出來進行單元測試?
我目前得到的代碼使用了Task Parallel Library(TPL),我想在我的類型中注入類似ITaskScheduler
的東西,以提取調度責任並使我能夠在我的測試中傳遞同步替代方案。
這樣的事情是否存在?我正在尋找包裝Task.Factory.StartNew
和Task.ContinueWith
的東西。我不認爲推出自己的作品並不是太多工作,但我確信有很多小小的陷阱,如果有一個已經存在的,我真的不想花時間做這件事。
只要您將Task API直接放置在界面後面,我不認爲可能存在任何問題。使用該接口與直接使用API應該沒有多大區別。 – 2010-08-23 13:00:50