我的项目中有两种不同类型的测试 - 验收和单元测试,问题是CircleCi在验收测试期间无法访问数据库,尽管.env变量是相同的。
这是.env文件:
DB_HOST=localhost
DB_DATABASE=db_testing
DB_USERNAME=homestead
DB_PASSWORD=secret
在PHPUnit.xml中我有:
<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>
在我的应用中:
$app->loadEnvironmentFrom('.env.testing');
所有这些设置都适用于我的本地计算机,但在circleci上它抱怨它无法访问数据库。根据他们的文档,我不需要创建数据库
答案 0 :(得分:1)
如果您使用MySQL或Postgres,您可以使用
circle_test
数据库和ubuntu
用户,而不是自己创建数据库。任何数据库都不需要密码。
来源:https://circleci.com/docs/manually/#databases
jdbc:postgresql://ubuntu:@127.0.0.1:5432/circle_test
来源:https://circleci.com/docs/configuration/#database
要使用CircleCI提供的数据库,我认为需要使用:
# .env
DB_HOST=localhost
DB_DATABASE=circle_test
DB_USERNAME=ubuntu
DB_PASSWORD=