我想为单元测试目的创建一个ImageSource模拟器。 ImageSource有一个内部构造函数,我既不能创建模拟也不能创建一个继承的类。正如此处针对画笔所解释的那样,它也适用于ImageSource:How do I implement a custom Brush in WPF?
有没有解决办法?
答案 0 :(得分:2)
如果我理解你的情况,你想为没有公共构造函数的密封类创建一个模拟。
你不能用Moq做到这一点。
作为一种解决方法,您可以使用其他"模拟/隔离"框架,即:TypeMock,支持此功能。您可能还有Microsoft Moles的运气。
另一方面,如果你试图在一个框架类中注入一个模拟的ImageSource实例,那将是一个气味,可能错误的测试。
至少,您可以使用另一个可以模拟的类来抽象框架类,从而无需直接使用此类和ImageSource。