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

使用模拟对象是否明智以及如何使用?

有帮助吗?

解决方案

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

其他提示

流阅读器 是一个具体的类,因此许多模拟系统不允许您模拟它。TypeMock 隔离器 然而,会的。

如果您需要强制错误来自读者,您可能会发现您想要模拟它,而不是仅仅让它向您的被测试类提供数据。如果您不需要此功能,您可能也同样领先 建造 来自其他 Stream 的 StreamReader,例如 内存流 - 这样您就不需要到磁盘上获取数据。

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

您可以使用工厂方法返回一个 TextReader,该 TextReader 可以是模拟对象,也可以是实际的 StreamReader。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top