我正在使用Cake
PHP 2.x插件,该插件使用Composer来提取包依赖性.我现在正试图使用Cake of Cake的
Travis package在插件的存储库更新时自动运行我的单元测试.
据我所知,这不包括在我的供应商文件中加载所需的Composer自动加载文件.因此,我的测试失败,因为缺少第三方包中定义的类.
如CakePHP 2’s advanced installation所述,我正在尝试将以下内容添加到bootstrap.php: –
require APP . 'Vendor' . DS . 'autoload.php';
我试图通过我的.travis.yml文件的before_script来附加bootstrap.php: –
before_script:
- git clone https://github.com/FriendsOfCake/travis.git --depth 1 ../travis
- ../travis/before_script.sh
- echo "require APP . 'Vendor' . DS . 'autoload.php';" >> ../cakephp/app/Config/bootstrap.php
不幸的是,这作为文件APP失败了. ‘供应商’. DS. ‘autoload.php’无法找到. (我也尝试在APP中查找文件.’..’.DS.’供应商’.DS.’autoload.php’).
使用Travis安装CakePHP时,Composer autoload.php文件位于何处?当我的测试在Travis CI上远程运行时,如何确保加载第三方软件包?
最佳答案 第三方插件的默认目录名是供应商(小写),CakePHP有供应商,您可以在… / app / composer.json中更改它
{
"config": {
"vendor-dir": "Vendor" // CakePHP third party plugins dir name
},
"require": {
...
}
}