簡體   English   中英

創建列表<task<ienumerable<mydata> &gt;&gt; 用於單元測試</task<ienumerable<mydata>

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM