2010-09-25 52 views
2

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

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

回答

1

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

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

0

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