Недавно узнал, что есть подход, при котором юнит-тесты кладут рядом с тестируемыми классами 🤔



Примеры:

https://github.com/thephpleague/flysystem/tree/2.x/src,

https://github.com/EventSaucePHP/EventSauce/tree/master/src/Integration.



Выглядит заманчиво — не надо синхронизировать две файловые структуры и бегать туда-сюда. И на ревью сразу видно, написан тест для нового класса или нет. Также этот подход должен повысить мобильность модулей кода — модуль не надо собирать по папкам src и test, чтобы переименовать или вынести в Composer-пакет.



В библиотеках такие тесты легко удалить из архива правилом **/*Test.php export-ignore в .gitattributes. Проект можно аналогичным образом чистить перед деплойментом.



Что думаете? Приглашаю обсудить в Пыхтелку 🐯