现在有一段Java读取本地文件的代码,需要针对其写unit test,但是unit test运行的环境实际上没有读取本地文件的权限,这种情况有什么好的解决方法?

2011-04-14 15:16:43 +08:00
 rse43
5190 次点击
所在节点    问与答
4 条回复
garfield
2011-04-14 17:15:38 +08:00
unit test的环境都和发布环境不一致,如何保证unit test正确呢?
Kenyth
2011-04-14 18:11:39 +08:00
首先你需要把 scope 定义清楚,你是要测试*读取本地文件*这个操作呢?还是要测试解析读取出的内容这个过程呢?还是只是这段代码包含了读取本地文件的代码?
kenzen
2011-04-14 21:25:13 +08:00
和发布环境一样,这不叫单元测试,单元测试就是细粒度的。用mock来代替。就好比,测试邮件群发功能,难道单元测试真的去发500封邮件?
rse43
2011-04-15 11:23:59 +08:00
感谢上面几位的建议,事实上最后也是这样解决的,把file system的访问都mock掉用测试的类来提供数据。真正的文件系统的测试就留到integration test了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/11469

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX