小编Mor*_*_ro的帖子

Laravel多个数据库PHPUnit

我正在开发一个具有多个数据库访问权限的应用程序,我想用这个进行PHPUnit测试.我当前的config\databases.php认可是在多个连接(mysql,mysql2,mysql3)中,所以我可以在env文件中为所有这些连接提供不同的访问权限.因此,模型$connection定义了变量.在我的第一个功能测试中,我想访问一个页面,只看到我在工厂提供的数据,所以只是为了开始.在我的phpunit.xml文件,我已经指定了DB_CONNECTIONsqlite和每个MySQL的设置有value=":memory:".

稍后编辑

<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"/>
    <env name="DB_CONNECTION" value="sqlite"/>
    <env name="DB_DATABASE_1" value=":memory:"/>
    <env name="DB_DATABASE_2" value=":memory:"/>
    <env name="DB_DATABASE_3" value=":memory:"/>
</php>
Run Code Online (Sandbox Code Playgroud)

所以上面你可以找到PHPUnit的相关代码.

.ENV

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=db1
DB_USERNAME=xxx
DB_PASSWORD=xxx

DB_HOST_2=127.0.0.1
DB_PORT_2=3306
DB_DATABASE_2=db2
DB_USERNAME_2=xxx
DB_PASSWORD_2=xxx

DB_HOST_2=127.0.0.1
DB_PORT_2=3306
DB_DATABASE_3=db3
DB_USERNAME_3=xxx
DB_PASSWORD_3=xxx
Run Code Online (Sandbox Code Playgroud)

我遇到的问题是,当我运行测试时,我有这个错误 - > PDOException: SQLSTATE[HY000] [1049] Unknown database ':memory:'.

所以Laravel不知道解析内存值.任何建议都会受到赞赏.谢谢

php phpunit laravel laravel-5

6
推荐指数
1
解决办法
2987
查看次数

标签 统计

laravel ×1

laravel-5 ×1

php ×1

phpunit ×1