c# – 用Moq模拟’new()’约束
发布时间:2020-12-15 22:20:13 所属栏目:百科 来源:网络整理
导读:我想测试一个带有类型签名的函数 public static void DoSomethingT(T something) where T : class,IInterfaceA,IInterfaceB,new() 它在内部使用新的T(). 我在为T创建模拟时遇到问题.感谢另一个问题,我已经找到了mocking multiple interfaces的解决方案.但是,
我想测试一个带有类型签名的函数
public static void DoSomething<T>(T something) where T : class,IInterfaceA,IInterfaceB,new() 它在内部使用新的T(). 我在为T创建模拟时遇到问题.感谢另一个问题,我已经找到了mocking multiple interfaces的解决方案.但是,我无法创建满足new()约束的模拟.我如何使用Moq解决这个问题? 解决方法
您有两种选择:
>使用无约束模拟框架.在.NET中,它意味着Isolator或JustMock.两者都使用IL编织在运行时注入代码,并且可以伪造/模拟在生产代码中创建的对象. 在两者之间进行选择取决于拆分逻辑的难度,剩下的代码是否有足够的“肉”,以及你是否愿意支付可以伪造新的Mocking框架 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |