rak*_*tha 2 phpunit laravel laravel-5
这个错误困扰着我。我的 laravel 版本是 5.6 我认为我没有对 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"/>
<env name="MAIL_DRIVER" value="array"/>
<env name="DB_CONNECTION" value="sqlite"/>
<env name="DB_DATABASE" value=":memory:"/>
</php>
Run Code Online (Sandbox Code Playgroud)
我正在写这样的测试:
<?php
namespace Tests\Feature;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\DatabaseMigrations;
class DemoTest extends TestCase
{
use DatabaseMigrations;
public function test_it_is_nothing()
{
$this->get('/volunteers')->assertStatus('200');
}
}
Run Code Online (Sandbox Code Playgroud)
我还参考了这篇文章Laravel 多个数据库 PHPUnit但没有帮助。
请确保以下事项:-
php artisan config:clearvendor/bin/phpunit --config PATH_TO_YOUR_PHPUNIT_XML_FILE如果以上都不起作用,请尝试添加另一个数据库配置到您的 config/database.php
'sqlite_testing' => [
'driver' => 'sqlite',
'database' => ':memory:',
'prefix' => '',
]
Run Code Online (Sandbox Code Playgroud)
那么你的 phpunit.xml 看起来像这样
<?xml version="1.0" encoding="UTF-8"?>
<phpunit>
...
<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_DEFAULT" value="sqlite_testing" />
</php>
</phpunit>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4339 次 |
| 最近记录: |