我对单元测试还比较陌生。我用 Ruby 编写了一个类,它接受一个文件,在该文件中搜索给定的正则表达式模式,替换它,然后将更改保存回文件。我希望能够为此方法编写单元测试,但我不知道如何去做。有人可以告诉我如何对处理文件 I/O 的方法进行单元测试吗?
看看这个如何对将文件保存到磁盘进行单元测试? https://stackoverflow.com/questions/3381801/how-do-i-unit-test-saving-file-to-the-disk
基本上,想法是相同的,文件系统是您的类的依赖项。因此,引入一个可以在单元测试中模拟的角色/接口(这样在单元测试时就没有依赖关系);角色中的方法应该是您从文件系统中需要的所有内容 -
Read() # returns file_contents as a string or string[]
Write(file_contents) # same as above
现在您可以使用模拟返回一个固定的字符串数组 - 然后您的类可以处理该数组。在生产代码中,角色的真正实现将访问文件系统以返回行数组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)