1

我想为单元测试目的创建一个 ImageSource 的模拟。ImageSource 有一个内部构造函数,我既不能创建模拟也不能创建继承类。正如这里对画笔的解释,但它也适用于 ImageSource:如何在 WPF 中实现自定义画笔?

有什么解决方法吗?

4

1 回答 1

2

如果我正确理解您的情况,您想为没有公共构造函数的密封类创建一个模拟。

Moq 无法做到这一点。

作为一种解决方法,您可以使用其他“模拟/隔离”框架,即:TypeMock,它支持此功能。您可能还可以使用 Microsoft Moles。

另一方面,如果您尝试在框架类中注入 ImageSource 的模拟实例,那将是您的测试可能有问题的气味。

至少,您可以用另一个可以模拟的类抽象出框架类,从而无需您的 this 直接使用此类和 ImageSource。

于 2012-05-15T14:55:37.933 回答