2016-08-24 36 views
0

我的项目中有两种不同类型的测试 - 验收和单元测试,问题是CircleCi在验收测试期间无法击中数据库,但.env变量相同。CircleCi无法在验收测试中击中数据库

这里是.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上,它抱怨说它无法访问数据库。根据他们的文档,我不需要创建数据库

回答

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=