我在项目中找到了几种常规单元测试约定 我不确定哪种方法适合我们的下一个PHP项目。我是 试图找到鼓励简单发展的最佳惯例 查看源代码时可以访问测试。我会的 对您的经验/意见感兴趣:
您对这些单元测试展示位置的体验如何?你有没有 另一个我没有在这里列出的约定?或者我只是高估单元测试 审稿人的可访问性?
答案 0 :(得分:14)
我赞成将单元测试保存在与生产代码相同的目录中的单独源文件中(#3)。
单元测试不是二等公民,他们的代码必须像生产代码一样进行维护和重构。如果将单元测试保存在单独的目录中,下一个更改生产代码的开发人员可能会错过对其进行单元测试并且无法维护测试。
在C ++中,我倾向于每个类有三个文件:
MyClass.h
MyClass.cpp
t_MyClass.cpp
如果你正在使用Vim,那么用于在源和单元测试文件之间切换的toggle_unit_tests插件可能会很有用。
答案 1 :(得分:7)
目前的最佳做法是将单元测试分成他们自己的目录#1。所有“约定优于配置”系统都是这样做的,例如。 Maven,Rails等
我认为您的替代方案很有趣且有效,而工具支持肯定会支持它们。但它并不那么流行(据我所知)。有些人反对在测试中穿插生产代码。但是对我来说,如果你总是编写单元测试,那么它就是你的代码所在。这似乎更简单。
答案 2 :(得分:3)
我总是选择#1。虽然它们很接近但很好。我的理由如下:
希望这有帮助。