用混凝土类模拟第三方组件

本文关键字:第三方 组件 模拟 混凝土 | 更新日期: 2023-09-27 17:59:23

我正在设计由第三方设计的组件。在我的组件中,我正在创建一个从第三方公开的对象的实例。

现在,我想对我通过嘲笑第三方组件编写的组件进行单元测试。但是第三方提供的组件是一个混凝土类。

我应该如何为我已经编写的组件编写单元测试

用混凝土类模拟第三方组件

解决这一问题的一种方法是建立一个从第三方提供具体类的工厂,并将其注入到您的类中。然后,您可以简单地在工厂中包装他们组件的新组件,但提供一个模拟工厂,返回您的模拟第三方组件供测试使用。

您可以选择适用于VS2010的Moles和适用于VS2012的Fakes。这两个框架都允许您编写具体对象的mock/shims。

您只需创建第三方dll对象的mock并更改方法行为即可。