阅读existing answer to this和Moq文档后,我得出的结论是,我可能只需要使用如上所示的正确类型参数模拟泛型方法。在这里,我偶然遇到了下一个问题,它将我的想法带到了尽头: 在当前版本的Microsoft.Extensions.Logging中,FormattedLogValues不再是公共的,而是内部的(遵循thisPR),这使得无法模拟最终被调用的泛型方法。
我试图用Moq来模拟MouseButtonEventArgs.GetPosition(),但是我一直收到这个错误:
System.ArgumentException:非覆盖成员上的无效安装程序:M => m.GetPosition(It.IsAny()) at Moq.Mock.ThrowIfCantOverride(表达式设置,MethodInfo methodInfo)在Moq.Mock.<Setup>b\_\_11() at Moq.PexProtector.Invoke<
我是Moq的新手,我刚刚在Moqing上看了pluralsight的视频,所以我觉得自己有能力去写一些测试。我有一个基类,比如说Sheet,它实现了一个接口ISheet。implementation}因此,在我的Test类中,我使用SUT而不是接口调用该方法:
var actual = MockSheet.Object.Cr