V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
rse43
V2EX  ›  问与答

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

  •  
  •   rse43 · 2011-04-14 15:16:43 +08:00 · 5295 次点击
    这是一个创建于 4970 天前的主题,其中的信息可能已经有所发展或是发生改变。
    4 条回复    1970-01-01 08:00:00 +08:00
    garfield
        1
    garfield  
       2011-04-14 17:15:38 +08:00
    unit test的环境都和发布环境不一致,如何保证unit test正确呢?
    Kenyth
        2
    Kenyth  
       2011-04-14 18:11:39 +08:00
    首先你需要把 scope 定义清楚,你是要测试*读取本地文件*这个操作呢?还是要测试解析读取出的内容这个过程呢?还是只是这段代码包含了读取本地文件的代码?
    kenzen
        3
    kenzen  
       2011-04-14 21:25:13 +08:00
    和发布环境一样,这不叫单元测试,单元测试就是细粒度的。用mock来代替。就好比,测试邮件群发功能,难道单元测试真的去发500封邮件?
    rse43
        4
    rse43  
    OP
       2011-04-15 11:23:59 +08:00
    感谢上面几位的建议,事实上最后也是这样解决的,把file system的访问都mock掉用测试的类来提供数据。真正的文件系统的测试就留到integration test了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4680 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 04:00 · PVG 12:00 · LAX 20:00 · JFK 23:00
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.