2010-10-29 4 views
1

У меня есть проект php в подрывной деятельности, с типичным /project/trunk/, /project/test/, /project/branches/ Структура. Я хочу начать писать некоторые модульные тесты с помощью PHPUnit. Где хорошее место для хранения этих файлов в управлении версиями?Где я могу хранить свои тестовые файлы в моем проекте php?

Если я поместил их в /project/unittests/, мне пришлось бы проверять каталог, который они испытывают параллельно, так что это немного хлопот, что я должен убедиться, что делаю это правильно. Если я сохраню их в проекте, скажем в /project/trunk/unittests/, то они будут там, когда я развожу сайт, если у меня нет дополнительных крючков, чтобы не экспортировать их, или, по крайней мере, убедитесь, что мой .htaccess не позволяет их обслуживать.

ответ

1

Вы можете разместить их в любом месте. Лично я всегда настроить мой проект, как это:

 
project 
    |-- trunk/ 
    |  |-- ... Other directory 
    |  `-- tests 
    |-- branches 
    |  `-- development 
    `-- tags 

Когда я сливаю ствол в ветви развития, я не совершал «/ тесты магистральный» каталог.

Таким образом, любой тег, созданный с использованием ветви разработки, не включает тесты.

3

Я сохраняю их в своем каталоге проектов, а не в отдельном каталоге svn, поскольку unittests напрямую связаны с состоянием проекта и могут отличаться от состояния к состоянию. Вы должны просто следить за тем, чтобы они не были доступны через Интернет.

Например, для каждого состояния моей структура выглядит следующим образом (с помощью Zend Framework,), веб-единственный веб-доступного каталог:

  • приложений (контроллер, конфигурация)
  • библиотеки (Зенд библиотека, собственная библиотека)
  • UnitTests (UnitTests;)
  • веб (index.php, .htaccess, изображения и другие unexecutables)
  • журналы
+0

Каталог журналов - как вы можете его не перезаписывать при экспорте новой версии сайта (если это так, как вы это делаете)? Является ли каталог без фактических журналов в vc или нет? Или 'logs' просто живут независимо от vc? – user151841

+0

Svn игнорирует содержимое каталога при фиксации. При обновлении Svn журналы моей живой версии уже удалены (logrotate + как часть процесса обслуживания) - в этом случае записи журнала из более старых версий не влияют на анализ журналов более новой версии. – Fge

1

Я бы поставил блок-тесты вместе с остальной частью вашего кода. Конечно, в отдельной папке, но она должна быть с веткой, над которой вы работаете. Я не вижу проблемы с их развертыванием на производство. Вероятно, вы захотите запустить тесты на производстве, чтобы убедиться, что все работает с производственной версией php.

Смежные вопросы