#php #tdd #phpspec
#php #tdd #phpspec
Вопрос:
Заранее приношу извинения, если этот вопрос был задан где-то еще или даже здесь (результаты поиска не дали мне того, что я искал). Я хотел бы настроить свой основной файл так, чтобы он размещался в моем собственном пространстве имен, между тем, скажем, пространство имен приложения находится где-то.
Ниже показано, как предполагается установить файловую структуру.
app/Rentals
src/Core
Фактически, с учетом структуры каталогов, я могу иметь следующую запись автоматической загрузки psr-4 в файле composer.json.
{
...,
"psr-4": {
"Rentals\": "app/",
"Selocrast\": "src/"
}
}
Наконец, я собираюсь показать вам мой текущий файл phpspec.yaml и конфигурацию, которую он содержит прямо сейчас.
suites:
selocrast_suite:
namespace: Selocrat
rawson_suite:
namespace: Rentals
src_path: "%paths.config%/app"
extensions:
LeanPHPPhpSpecCodeCoverageCodeCoverageExtension: ~
Как это, возможно, видно из приведенного выше файла конфигурации, я внес несколько изменений, чтобы заставить работать хотя бы одно пространство имен (по умолчанию). С чем я борюсь, так это с наличием нескольких наборов, указывающих на разные каталоги пространства имен.
Тип Rental Component ModelEntity Simple был сгенерирован, но его не удалось загрузить. Вам нужно настроить au toloader?
Мне трудно двигаться дальше с этой настройкой — это то, что PHPSpec применяет на уровне кода? Если нет, то что я мог тогда делать неправильно?
Ниже приведена версия, в которой я нахожусь:
$ bin/phpspec --version
phpspec 4.3.2
Это вопрос создания расширения для управления моим вторичным пространством имен?
Ответ №1:
Я думаю, вам следует изменить конфигурационный файл следующим образом
suites:
selocrast_suite:
namespace: Selocrat
psr4_prefix: Selocrat
rawson_suite:
namespace: Rentals
psr4_prefix: Rentals
src_path: "%paths.config%/app"
[...]
Комментарии:
1. Спасибо, я попробую это и вернусь к этому ответу с согласием, если это поможет решить мою проблему. Я нахожу использование двух отдельных файлов конфигурации сложным, поскольку всегда приходится указывать их при каждой команде запуска / описания PHPSpec. Спасибо
2. В итоге я создал отдельные файлы конфигурации и просто запускаю свои команды PHPSpec отдельно, указав нужную конфигурацию. Мне не очень нравится этот подход, но он сработал для того, что мне нужно было сделать