我在subversion中有一个php项目,具有典型的/project/trunk/
,/project/test/
,/project/branches/
结构。我想开始用PHPUnit编写一些单元测试。在版本控制中存储这些文件的好地方在哪里?
如果我把它们放在/project/unittests/
中,我将不得不检查他们并行测试的目录,所以我必须确保我做得正确,这有点麻烦。如果我将它们保留在项目中,比如/project/trunk/unittests/
,那么当我部署网站时它们会在那里,除非我有一些额外的钩子不能导出它们,或者至少确保我的.htaccess不允许为他们服务。
答案 0 :(得分:3)
我将它们存储在我的项目目录中,而不是存储在单独的svn目录中,因为unittests与项目状态直接相关,并且可能因州而异。您应该注意它们不能通过Web访问。
例如,对于每个状态,我的结构看起来像这样(使用zend框架),web是唯一可通过Web访问的目录:
答案 1 :(得分:1)
你可以把它们放在任何地方。就个人而言,我总是这样设置我的项目:
project |-- trunk/ | |-- ... Other directory | `-- tests |-- branches | `-- development `-- tags
当我将trunk合并到开发分支时,我不提交“trunk / tests”目录。
这样,使用开发分支创建的任何标记都不包含测试。
答案 2 :(得分:1)
我会将单元测试与其余代码放在一起。当然在一个单独的文件夹中,但它应该与您正在处理的分支。我没有看到将它们部署到生产中的问题。您可能希望在生产中运行测试以确保所有内容都与生产php版本一起使用。