Стандартная практика тестирования модулей PHP в таких рамках, как PHPUnit и PHPSpec, по-видимому, заключается в том, чтобы сохранить тестовые примеры в отдельной директории вдали от тестируемых классов, например:
FoobarApp
├── Models
│ ├── SomeModel
├── Tests
│ ├── SomeModelTest
Лично я считаю более ясным и более полезным поставить каждый тест рядом с классом, который он тестирует, в том же каталоге, как это:
FoobarApp
├── Models
│ ├── SomeModel
│ └── SomeModelTest
Мой вопрос: есть ли причина не использовать это альтернативное размещение? Это просто проблема предпочтений разработчиков?
Это просто проблема предпочтений разработчиков?
В принципе, да.
Он начинался как предпочтение и довольно распространен в языках ООП, например, также на Java, который обычно разделяется.
Другие считают, что есть больше преимуществ, связанных с этими испытаниями:
src/
tree.Вы можете принять то, что большинство разработчиков приучены или катят свое дело, никого не останавливает или не заставляет вас. Но как только вы работаете с другими (команды @work, OSS), вы обнаружите, что большинство их разделяет.
Никто не будет заботиться о вашем частном проекте, но если вы используете OSS и ожидаете сотрудничества, вы хотите облегчить его для всех, просто применив общие соглашения.
Я не поклонник PSR-2:
{
по классам/методам? нетОднако вам не нравится стандарт: есть преимущества при сотрудничестве, мышление в команде. Таким образом, я перешел на PSR-2 во всех своих проектах, хотя лично мне это не нравилось.
Там нет места для личного эго при сотрудничестве с другими. Это не значит, что ты должен подчиниться всему. Вы сами решаете, насколько хорошо вы играете как часть более широкой картины ;-)