这是场景:
我有一种通过FileStream和.NET中的StreamReader读入文件的方法.我想单元测试这个方法,并以某种方式删除对StreamReader对象的依赖.
理想情况下,我希望能够提供自己的测试数据串,而不是使用真实的文件.现在该方法使用了StreamReader.ReadLine方法.为了使这个测试成为可能,我现在正在修改设计的方法是什么?
解决方法
取决于Stream和TextReader.那么你的单元测试可以使用MemoryStream和StringReader. (或者如果需要,可以从测试组件内部加载资源.)
注意ReadLine
最初由TextReader声明,而不是StreamReader.