2017-08-03 106 views
1

assigne值以Action委托我想assigne真到了Action parametre与MOQ如何模拟

void SaveAllCustomers(
     List<Customer> Customers, 
     Action<bool, string> result); 

这样我就可以基于该工作的result验证的覆盖范围。我怎么能做到这一点? 感谢

回答

2

设立时的模拟

mock 
    .Setup(_ => _.SaveAllCustomers(It.IsAny<List<Customer>>(), It.IsAny<Action<bool, string>>())) 
    .Callback((List<Customer> customers, Action<bool, string> result) => { 
     if(result != null) 
      result(true, "");    
    }); 
+0

我得到这个错误可以使用回叫:对象引用未设置到对象 –

+0

好吧,你需要提供更多的上下文的实例。显示测试以及如何使用模拟。用这些细节更新原始问题。 – Nkosi

+0

这很奇怪,被测试的方法是异步的,所以当我删除任务异步并等待“行为”部分,它的作品 –