[討論]是否將單元測試文件和源文件放在一塊兒

目前根據習慣和創做時間,單元測試和源文件的代碼都是分開的。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

相關文章
相關標籤/搜索