У меня есть плагин (FirstPlugin
). Плагин загружает второй плагин (SecondPlugin
) из своего бутстрапа, и они отлично работают.CakePHP: загружает плагин для теста
Теперь я пишу тесты для FirstPlugin
, и мне нужно загрузить SecondPlugin
в тесты.
Таким образом, в загрузчике для теста (FirstPlugin/tests/bootstrap.php
) Я просто требуется главный загрузчик (FirstPlugin/config/bootstrap.php
):
require ROOT . 'config' . DS . 'bootstrap.php';
Я делаю это, потому что я нужен другой код начальной загрузки (настройки постоянной, кэш и т.д.).
Это не работает, и я не могу понять, в чем дело.
Примечание Я уже изменил composer.json
для FirstPlugin
:
"autoload": {
"psr-4": {
"FirstPlugin\\": "src"
}
},
"autoload-dev": {
"psr-4": {
"FirstPlugin\\Test\\": "tests",
"SecondPlugin\\": "vendor/second-plugin-path/src"
}
},
и SecondPlugin
устанавливается с помощью композитора и находится в vendor/
.
EDIT
Исключение брошено здесь:
http://api.cakephp.org/3.2/source-class-Cake.Core.Plugin.html#149
$config['path']
Это означает, что пусто.
Проблема я думаю, что это: http://api.cakephp.org/3.2/source-class-Cake.Core.Plugin.html#134
Может быть, в начальной загрузки теста я должен вручную установить значение конфигурации?
"_doesn't work_" не является надлежащим описанием проблемы! Даже если проблема может быть очевидна для людей, знакомых с внутренними компонентами CakePHP, всегда будьте как можно более конкретными, чем то, что происходит _exactly_, и что вы ожидаете вместо этого. ps, как могут оба «FirstPlugin» и «SecondPlugin», использовать одну и ту же папку, то есть 'src'? – ndm
@ndm, извините, я хотел сказать, что я получаю тесты на запуск исключения MissingPluginException. Они не используют одну и ту же папку, «SecondPlugin» устанавливается через композитор, и он находится в 'vendor /' –
правильно, я установил точный путь к плагину ('vendor /'), но у меня все еще есть тот же проблема –