我做了一个简单的测试:
public function test_my_awesome_test()
{
$user = User::find(1);
$response = $this->actingAs($user)->get('/awesome/test');
$response->assertStatus(200);
}
但运行测试后,它显示我的错误:
SQLSTATE[42S02]:找不到基表或视图:1146表"testing.users"不存在(SQL:从
users
中选择*,其中CCD_ 2。id
=1极限1(
如果我需要从数据库打印一些数据,我也会遇到同样的错误。这些表格存在,网站运行正常。谁知道问题出在哪里?
根据Laravel文档,Sail会在运行测试时覆盖您在.env
文件中定义的DB名称。您需要从phpunit.xml
文件中删除以下行:
<env name="DB_DATABASE" value="testing"/>
在项目根目录中创建.testing文件,并在其中设置类似.env文件的数据库连接配置。如果你运行一个测试,laravel使用.testing而不是.env来读取环境