Где вы положили свой юнит-тест?

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

Одна папка для производительного кода, другая для модульных тестов: это отделяет модульные тесты от логических файлов проекта. Такое разделение интересов является не только неприятностью, но и преимуществом: кто-то, изучающий исходный код проекта, будет - так что я полагаю - либо просмотрите реализацию, либо юнит-тесты (или, чаще, только реализацию). Преимущество модульных тестов, являющихся еще одной точкой зрения для ваших классов, потеряно - эти две точки зрения просто слишком далеко друг от друга IMO.Аннотированные методы тестирования. Любая известная мне современная модульная среда тестирования позволяет разработчикам создавать специальные методы тестирования, аннотируя их (@тестовое задание) и встраивая их в код проекта. Большой недостаток, который я вижу здесь, состоит в том, что файлы проекта загромождены. Даже если эти методы разделены с помощью заголовка комментария (например,UNIT TESTS ниже этой линии) это просто раздувает класс без необходимости.Тестовые файлы в тех же папках, что и файлы реализации. Наше соглашение об именах файлов требует, чтобы файлы PHP, содержащие классы (по одному классу на файл), заканчивались на.class.php, Я мог бы представить, что помещение модульных тестов относительно файла класса в другое заканчивается.test.php предоставит тесты гораздо больше подарков другим разработчикам, не портя класс. Несмотря на то, что он раздутый папки проекта, а не файлы реализации, это мой любимый до сих пор, но у меня есть сомнения: я думаю, что другие уже придумали это, и почему-то отказались от этой опции (то есть я не видел проект Java с файламиFoo.java а такжеFooTest.java внутри одной и той же папки.) Может быть, это потому, что разработчики java интенсивнее используют IDE, что облегчает им доступ к тестам, тогда как в PHP не появилось больших редакторов (таких как eclipse для java) - многие известные мне разработчики используют vim / emacs или аналогичные редакторы с небольшой поддержкой PHP-разработки как таковой.

Каков ваш опыт работы с любым из этих юнит-тестов? У вас есть другое соглашение, которое я не перечислил здесь? Или я просто переоцениваю доступность юнит-тестов для рецензентов?

Ответы на вопрос(0)

Ваш ответ на вопрос