目前根據習慣和創作時間,單元測試和源文件的代碼都是分開的。 是否可以考慮將它們放在一起: 好處: 可以很清晰地知道哪些文件缺少測試。 可以快速在源文件和單元測試文件之間跳轉,而不需要切換文件夾。 遵循了需要一起修改的代碼放在一起的原則,方便修改源碼時同步修改單元測試文件。 在移動、拷貝源碼時可以輕鬆 ...
目前根據習慣和創作時間,單元測試和源文件的代碼都是分開的。
engine/ classes/ Elgg/ Class.php tests/ phpunit/ Elgg/ ClassTest.php
是否可以考慮將它們放在一起:
engine/ classes/ Elgg/ Class.php ClassTest.php
好處:
- 可以很清晰地知道哪些文件缺少測試。
- 可以快速在源文件和單元測試文件之間跳轉,而不需要切換文件夾。
- 遵循了需要一起修改的代碼放在一起的原則,方便修改源碼時同步修改單元測試文件。
- 在移動、拷貝源碼時可以輕鬆地同時處理單元測試代碼。
壞處:
- 將單元測試代碼也作為源碼處理,有些工具會出現問題,比如有些 IDE 會將單元測試里的代碼提示出來。
- 很少有其它項目這麼做。
- 在搜索源碼時必須過濾單元測試的代碼。
- 似乎僅僅為了切換文件方便而增加了其它很多的工作量。
- 如果單元測試和源碼不是一一對應則不容易處理。
結論:
不要這麼做。
參考鏈接
https://github.com/Elgg/Elgg/issues/7112
http://stackoverflow.com/questions/23990358/keeping-unit-tests-in-separate-files-in-d/24018009