我在Laravel 5.2中创建了一个项目,其源代码部署在github here。我在使用PHPUnit测试项目并与Travis-CI集成时遇到了麻烦。
这是我的Travis-CI配置文件:
language: php
php:
- 5.6
before_script:
- cp .env.travis .env
- mysql -e 'create database homestead_test;'
- composer self-update
- composer install --no-interaction
- php artisan key:generate
script:
- vendor/bin/phpunit
这是我的PHPUnit.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="bootstrap/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Application Test Suite">
<directory suffix="Test.php">./tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./app</directory>
<exclude>
<file>./app/Http/routes.php</file>
</exclude>
</whitelist>
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="QUEUE_DRIVER" value="sync"/>
</php>
</phpunit>
其他文件可以在我的存储库中看到。如果您需要任何说明,请在下面发表评论。
我可以看到我的travis Build here。
这是我在Travis构建中遇到的错误:
PHP Warning: require(/home/travis/build/TheOpenBlog/TheOpenBlog/bootstrap/../vendor/autoload.php): failed to open stream: No such file or directory in /home/travis/build/TheOpenBlog/TheOpenBlog/bootstrap/autoload.php on line 17
答案 0 :(得分:6)
我自己想通了。我创建的数据库是错误的。
正确的.travis.yml文件是
language: php
php:
- 5.6
before_script:
- cp .env.travis .env
- mysql -e 'create database TheOpenBlog_tests;'
- composer self-update
- composer install --no-interaction
- php artisan key:generate
script:
- vendor/bin/phpunit
更正.env.travis文件
APP_ENV=TheOpenBlog_testing
APP_KEY=SomeRandomString
DB_CONNECTION=TheOpenBlog_testing
DB_DATABASE=TheOpenBlog_tests
DB_USERNAME=root
DB_PASSWORD=
CACHE_DRIVER=array
SESSION_DRIVER=array
QUEUE_DRIVER=sync
最后添加此
<env name="APP_ENV" value="TheOpenBlog_testing"/>
并删除此
<env name="DB_CONNECTION" value="TheOpenBlog_testing"/>