簡體   English   中英

我如何將IEnumerable與moq It.Is一起使用

[英]How do I use IEnumerable with moq It.Is

當檢查用於調用方法的正確數據時,我可以這樣做:

mockedClass.Verify(method => method.WriteToConsole(It.Is<Result>(item => item.Name == "Bob" && item.Age == 44)));

其中Results是一個對象,是Linq查詢的輸出:

 public class Result
{
    public string Name { get; set; }

    public int Age { get; set; }
}

但是,我也將IEnumerable用作第二種方法的輸入。

如何修改上方的“驗證”以檢查IEnumerable of Results是否包含可以測試的結果。

mockedClass.Verify(method => method.WriteListToConsole(It.Is<IEnumerable<ResultRecord>>(item => What GOES HERE?)));

此時的“ item”是IEnumerable<ResultRecord> 只需寫下您要測試的內容即可。

像這樣嗎

mockedClass.Verify(method => method.WriteListToConsole(It.Is<IEnumerable<ResultRecord>>(item => item.Count() == 1 && item.ToList()[0].SomeProperty == "Something")));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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