我正在使用Composer来引入软件包依赖关系的CakePHP 2.x插件。我现在试图使用Cake of Friends的Travis package自动运行我的单元测试,只要更新插件的存储库。如何自动加载CakePHP 2中的Composer软件包Travis集成
据我所知,这不包括在我的供应商文件中加载所需的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 . 'Vendor' . DS . 'autoload.php'
无法找到。 (我也尝试在APP . '..' . DS . 'Vendor' . DS . 'autoload.php'
中查找文件)。
使用Travis安装CakePHP时,Composer autoload.php
文件位于何处?当我的测试在Travis CI上远程运行时,如何确保加载第三方软件包?
我猜测,它使用的是默认作曲家供应商目录,这是' 。/ vendor/autoload.php'(小写厂商,顶级目录)。在Cake 2中,供应商下的应用程序结构中的所有供应商文件以及[文档]中的第一位(http://book.cakephp.org/2.0/en/installation/advanced-installation.html#installing-cakephp -with-composer)关于作曲家文件改变作曲家的供应商目录,FOC travis安装程序不会为你做。您可以通过在before_script块中添加'composer config vendor-dir“供应商/”'“来编辑Cake预期的目录。 – jeremyharris