我正在研究一个处理转储到目标目录的文档的系统.我通过检测FileSystemWatcher OnChanged事件来获取文件.
作为单元测试的一部分,我应该如何实现自动化?我应该如何组织输入文件和输出文件进行比较以验证转换是否正确?这是通过发出diff命令的批处理文件更好地处理的吗?
那么,首先考虑一下你想要测试的究竟是什么.
在您检测到文件发生更改后,是否正确处理?
或者FileSystemWatcher类是否有效?
或者是操作系统以正确的顺序向您发送正确的通知(其中权利基本上与您期望的一样)?
如果只需要进行处理,我会考虑模拟观察者类,或使用IoC容器为您提供触发单元测试事件的东西.
如果操作系统以正确的顺序提供正确的事件,那么我会模拟处理文件的代码,只是为了保存"是,我被告知此文件已更改"的状态,以及单元测试然后会操纵临时目录中的文件.
但要注意,单元测试所依赖的外部复杂性越多,它就越容易破碎.