[讨论]是否将单元测试文件和源文件放在一块儿

目前根据习惯和创做时间,单元测试和源文件的代码都是分开的。php

engine/
  classes/
    Elgg/
      Class.php
  tests/
    phpunit/
      Elgg/
        ClassTest.php

是否能够考虑将它们放在一块儿:git

engine/
  classes/
    Elgg/
      Class.php
      ClassTest.php

好处:github

  • 能够很清晰地知道哪些文件缺乏测试。
  • 能够快速在源文件和单元测试文件之间跳转,而不须要切换文件夹。
  • 遵循了须要一块儿修改的代码放在一块儿的原则,方便修改源码时同步修改单元测试文件。
  • 在移动、拷贝源码时能够轻松地同时处理单元测试代码。

坏处:工具

  • 将单元测试代码也做为源码处理,有些工具会出现问题,好比有些 IDE 会将单元测试里的代码提示出来。
  • 不多有其它项目这么作。
  • 在搜索源码时必须过滤单元测试的代码。
  • 彷佛仅仅为了切换文件方便而增长了其它不少的工做量。
  • 若是单元测试和源码不是一一对应则不容易处理。

结论:单元测试

  不要这么作。测试

参考连接

https://github.com/Elgg/Elgg/issues/7112code

http://stackoverflow.com/questions/23990358/keeping-unit-tests-in-separate-files-in-d/24018009blog

相关文章
相关标签/搜索