我在使用Travis-CI时遇到了一些麻烦,当它在我的本地计算机上正常工作时。我正在使用相同的PHP版本和PHPUnit版本。PHPUnit在Travis-CI上失败,但在本地通过
我的代码库是https://github.com/lncd/OAuth2
特拉维斯-CI输出为https://travis-ci.org/lncd/OAuth2
从库的根执行phpunit -c build/phpunit.xml
本地工作很好,测试按预期执行。
的日志Travis是:
$ cd ~/builds
$ git clone --branch=develop --depth=100 --quiet git://github.com/lncd/OAuth2.git lncd/OAuth2
$ cd lncd/OAuth2
$ git checkout -qf 1c3b319aa6c8f5521d5123f0e6affca94ee35010
$ phpenv global 5.3
$ php --version
PHP 5.3.19 (cli) (built: Dec 20 2012 09:57:38)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.3.0, Copyright (c) 1998-2012 Zend Technologies
with Xdebug v2.2.1, Copyright (c) 2002-2012, by Derick Rethans
$ phpunit -c build/phpunit.xml
PHP Warning: require_once(src/OAuth2/Authentication/Server.php): failed to open stream: No such file or directory in /home/travis/builds/lncd/OAuth2/tests/authentication/server_test.php on line 3
PHP Stack trace:
PHP 1. {main}() /home/travis/.phpenv/versions/5.3.19/bin/phpunit:0
PHP 2. PHPUnit_TextUI_Command::main() /home/travis/.phpenv/versions/5.3.19/bin/phpunit:46
PHP 3. PHPUnit_TextUI_Command->run() /home/travis/.phpenv/versions/5.3.19/share/pyrus/.pear/php/PHPUnit/TextUI/Command.php:129
PHP 4. PHPUnit_TextUI_Command->handleArguments() /home/travis/.phpenv/versions/5.3.19/share/pyrus/.pear/php/PHPUnit/TextUI/Command.php:138
PHP 5. PHPUnit_Util_Configuration->getTestSuiteConfiguration() /home/travis/.phpenv/versions/5.3.19/share/pyrus/.pear/php/PHPUnit/TextUI/Command.php:657
PHP 6. PHPUnit_Util_Configuration->getTestSuite() /home/travis/.phpenv/versions/5.3.19/share/pyrus/.pear/php/PHPUnit/Util/Configuration.php:784
PHP 7. PHPUnit_Framework_TestSuite->addTestFiles() /home/travis/.phpenv/versions/5.3.19/share/pyrus/.pear/php/PHPUnit/Util/Configuration.php:860
PHP 8. PHPUnit_Framework_TestSuite->addTestFile() /home/travis/.phpenv/versions/5.3.19/share/pyrus/.pear/php/PHPUnit/Framework/TestSuite.php:416
PHP 9. PHPUnit_Util_Fileloader::checkAndLoad() /home/travis/.phpenv/versions/5.3.19/share/pyrus/.pear/php/PHPUnit/Framework/TestSuite.php:355
PHP 10. PHPUnit_Util_Fileloader::load() /home/travis/.phpenv/versions/5.3.19/share/pyrus/.pear/php/PHPUnit/Util/Fileloader.php:76
PHP 11. include_once() /home/travis/.phpenv/versions/5.3.19/share/pyrus/.pear/php/PHPUnit/Util/Fileloader.php:92
我已经改变require_once
加载require_once '../../src/OAuth2/Authentication/Server.php';
(即两个目录的执行文件下)玩耍了,但这并不对特拉维斯或我的地方工作建立。
我在做什么错?或者它是Travis的错误?
谢谢
编辑:
为了澄清这是目录结构:
build
/phpunit.xml
src
/OAuth2
/Authentication
/Database.php
/Server.php
/Resource
/Database.php
/Server.php
tests
/authentication
/database_mock.php
/server_test.php
/resource
/database_mock.php
/server_test.php
这两个文件在/测试称为server_test.php
下的目录要加载相应的来自/ src下目录的Server.php
和Database.php
文件
'的var_dump(GETCWD(),get_include_path());'' – zerkms
getcwd':/家庭/特拉维斯/建立/ lncd/OAuth2用户 '包括path':/家庭/特拉维斯/ .phpenv /版本/ 5.3.19/pear:/home/travis/.phpenv/versions/5.3.19/share/pyrus/.pear/php '__FILE__':/ home/travis/builds/lncd/OAuth2/tests/authentication/server_test .php '__DIR__':/ home/travis/builds/lncd/OAuth2/tests/authentication – alexbilbie
看起来您并未安装所有要求。 –