我想使用Bitbucket Pipelines执行持续集成来构建我的项目。我首先使用默认配置的bitbucket-pipeline.yml文件,如下所示:
image: php:7.1.29
pipelines:
default:
- step:
caches:
- composer
script:
- apt-get update && apt-get install -y unzip
- curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
- composer install
- vendor/bin/phpunit
提交并运行测试后,它失败。
我用下面的配置修改了上面的配置,以测试数据库:
image: phpunit/phpunit:6.5.3
pipelines:
default:
- step:
caches:
- composer
script:
- apk add --no-cache php7-gd php7-xmlwriter
- php -r "file_exists('.env') || copy('.env.testing', '.env');"
- composer install
- php artisan key:generate
- php artisan migrate --seed
- vendor/bin/phpunitenter
但是当我尝试再次运行它时,它失败了。我现在有8个失败的版本。任何人都可以帮助完成成功的构建吗?
测试数据库或任何其他第三方应用程序应该使用集成测试而不是单元测试来完成,如果您尝试使用单元测试来测试数据库肯定会失败,因为您在运行数据库时不会妨碍正确的连接。测试只能通过集成测试来完成。
还要确保在正确的目录中调用bin / phpunit,您应该在laravel中CD到主测试目录,然后执行../vendor/bin/phpunit Unit
。
尽管没什么大不了,但您绝对可以检查的一件事就是文件的缩进。其次,您可以发布错误或日志吗?如果我们能够看到发生的确切错误,则更容易帮助查看问题所在。