[英]Create List<Task<IEnumerable<MyData>>> for unit test
我想測試一個接收List<Task<IEnumerable<MyData>>>
作為參數的方法
public async Task<HashSet<Data>> MyMethod(List<Task<IEnumerable<MyData>>> asyncTasks)
在我要測試的方法的某一時刻,有以下分配:
var someDetails = await asyncTasks[i] ;
我的情況是,在測試中,我創建了一個我想要測試的 MyData 列表,但我需要它看起來是上面一行的結果。
我怎樣才能做到這一點?
讓我們一步一步來。
你說你已經有一個 MyData 列表:
List<MyData> dataList = ...;
List<T>
實現IEnumerable<T>
,因此:
IEnumerable<MyData> dataEnumerable = dataList;
讓我們通過創建一個簡單的任務來完成該任務,該任務只返回這個 IEnumerable 作為結果:
Task<IEnumerable<MyData>> task = Task.FromResult(dataEnumerable);
現在我們將創建一個包含該項目的單元素列表:
var taskList = new List<Task<IEnumerable<MyData>>>() { task };
瞧,這就是你的List<Task<IEnumerable<MyData>>>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.