2016-08-31 4 views
0

У меня есть плагин (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

Может быть, в начальной загрузки теста я должен вручную установить значение конфигурации?

+0

"_doesn't work_" не является надлежащим описанием проблемы! Даже если проблема может быть очевидна для людей, знакомых с внутренними компонентами CakePHP, всегда будьте как можно более конкретными, чем то, что происходит _exactly_, и что вы ожидаете вместо этого. ps, как могут оба «FirstPlugin» и «SecondPlugin», использовать одну и ту же папку, то есть 'src'? – ndm

+0

@ndm, извините, я хотел сказать, что я получаю тесты на запуск исключения MissingPluginException. Они не используют одну и ту же папку, «SecondPlugin» устанавливается через композитор, и он находится в 'vendor /' –

+0

правильно, я установил точный путь к плагину ('vendor /'), но у меня все еще есть тот же проблема –

ответ

0

Решено.

Отсутствует файл vendor/cakephp-plugins.php.
Я заметил, что этот файл не создан для плагина, но только для приложения. Странный.

Смежные вопросы