我想创建一个用于单元测试的ImageSource模拟。ImageSource有一个内部构造函数,我既不能创建模拟,也不能创建继承类。正如这里针对笔刷所解释的,但它也适用于ImageSource:How do I implement a custom Brush in WPF?
有什么解决方法吗?
发布于 2012-05-15 22:55:38
如果我理解正确的话,您希望为没有公共构造函数的密封类创建一个mock。
你不能用Moq做到这一点。
作为一种变通办法,你可以使用其他的“模拟/隔离”框架,比如: TypeMock,它支持这个特性。你可能也会幸运地使用微软的Moles。
另一方面,如果你试图在一个框架类中注入一个模拟的ImageSource实例,这可能意味着你的测试出了问题。
至少,您可以将框架类抽象为另一个可以模拟的类,从而消除直接使用该类和ImageSource的需要。
https://stackoverflow.com/questions/10582714
复制相似问题