[英]Moq method with single generic parameter with multiple constraints
我有以下方法簽名,我想設置一個模擬:-
public int Update<T>(T item) where T : IItemID, IItemData
嘗試設置模擬(使用 Moq)時,我無法為 T 設置正確的類型:-
mock.Setup(x => x.Update(It.IsAny<???>()).Returns(1);
我在我的單元測試項目中嘗試過“假”界面:-
public interface IFake : IITemID, IItemData
{
}
mock.Setup(x => x.Update(It.IsAny<IFake>()).Returns(1)
但是我的單元測試中的驗證失敗,因為我使用的對象不是從 IFake 繼承的。 該對象是從 IItemID 和 IItemData 繼承的實際類型。
有沒有辦法為這個具有多個約束的 Update 方法設置模擬?
更新感謝所有信息。 再次經歷這個之后,看起來最好的解決方案是不使用多個接口約束,因為這不能被模擬。 我只是想知道是否有解決方案,因為這似乎會在以后導致大量問題。
再次感謝!
嘗試
mock.Setup(x => x.Update(It.IsAny<It.IsAnyType>()).Returns(1);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.