如何模拟IO /网络类?

时间:2010-09-25 11:36:14

标签: c# mocking rhino-mocks

我想知道如何模拟IO /网络类。例如,我有一个执行FTP操作的类或一个写入文件的类。我如何使用模拟来模拟和单元测试这些类?

我是C#/ NHibernate / Castle ActiveRecord / Rhino Mocks开发人员。

2 个答案:

答案 0 :(得分:1)

使用Rhino Mocks,您只能模拟接口,抽象类(一般的虚拟方法)。因此,将您的网络访问代码抽象为接口,然后模拟它们,以便单独测试其他类,具体取决于它们。

您不能单独测试需要单独连接到FTP服务器的代码。这不再是一个单元测试,它是一个集成测试,嘲笑在这里无法帮助你。

答案 1 :(得分:0)

对于rhinomocks,您必须定义一个接口或抽象类,以便rhinomocks可以为您创建一个代理/模拟对象。其他模拟框架(例如typemockJustmock,都是商业的)能够模拟非抽象类,静态类,非虚方法等。