通过Stack Overflow上的现有单元测试相关线程读取,我找不到一个有关如何单元测试文件I/O操作的明确答案.我最近才开始研究单元测试,之前已经意识到了这些优点,但是很难习惯先编写测试.我已经设置了我的项目来使用NUnit和Rhino Mocks,虽然我理解它们背后的概念,但我在理解如何使用模拟对象方面遇到了一些麻烦.
具体来说,我有两个问题需要回答.首先,单元测试文件I/O操作的正确方法是什么?其次,在我尝试学习单元测试时,我遇到了依赖注入.在Ninject设置和工作之后,我想知道我是否应该在单元测试中使用DI,或者直接实例化对象.
这可能是一个有趣的问题.如果我能成功上传并获取PDF文件,我需要测试一下.这适用于基于文本的文件,但我只是想检查PDF.要运行此单元测试,我需要一个PDF文件.有几种选择.我可以创建一个虚拟PDF文件并将其存储在一些文件夹中并读取该文件并将文件保存到系统中.但现在,我的单元测试依赖于PDF文件.因此,运行单元测试的任何人都必须拥有有点不好的PDF文件.
另一种方法是创建一个PDF文件.这不是什么大问题,因为我可以简单地创建一个带有.pdf扩展名的虚拟文件,或者我甚至可以使用一些PDF第三方工具来创建PDF文件.
另一种方法是将PDF文档作为嵌入资源嵌入,然后从程序集中提取.
您认为处理此问题的最佳方法是什么?