3

我使用流阅读器导入一些数据,目前我在测试中硬编码一个小样本文件来完成这项工作。

将 Mock Objects 用于此以及如何使用是否明智?

4

4 回答 4

3

除非您正在制作 StreamReader 派生类,否则我看不到任何模拟 StreamReader 的要点。如果您需要通过 StreamReader 提供测试输入,只需从任何合适的来源读取一些预定义的数据。

于 2008-09-15T11:10:45.283 回答
2

StreamReader是一个具体的类,所以许多模拟系统不允许你模拟它。 然而, TypeMock Isolator会。

如果您需要强制错误来自阅读器,您可能会发现您想要模拟它,而不仅仅是让它为您的测试类提供数据。如果您不需要此功能,您可能会远远领先于从其他一些流(例如MemoryStream )构建StreamReader - 这样您就不需要去磁盘获取数据。

于 2008-09-15T11:13:25.450 回答
1

在测试依赖于流、流读取器和流写入器的代码时,我通常使用 memorystream 对象进行测试。这里不需要模拟框架。

于 2008-09-15T11:10:42.290 回答
1

您可以使用工厂方法返回可以是模拟对象或实际 StreamReader 的 TextReader。

于 2008-09-15T11:14:52.560 回答