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