kav*_*.hd 0 mysql phpunit unit-testing laravel
当我在 laravel 中使用 PHPUnit 并在运行 PHPUnit 后将工厂添加到我自己的测试类时,控制台中会出现以下错误:
SQLSTATE[HY000]: General error: 1 no such table: users
Run Code Online (Sandbox Code Playgroud)
我的测试类方法:
public function testExistSomeTextsInIndexPage()
{
$users= factory(User::class)->create();
$this->get('/')->assertSee($users->name);
}
Run Code Online (Sandbox Code Playgroud)
该工厂代码在我的项目的其他部分正常工作,只是在测试类中显示错误
您应该将其Illuminate\Foundation\Testing\DatabaseMigrations作为特征包括在内。有关于此的文档。
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Tests\TestCase;
class ExampleTest extends TestCase
{
use DatabaseMigrations;
}
Run Code Online (Sandbox Code Playgroud)
注意:设置正确的数据库凭据。如果您使用现有数据库的凭据,它将覆盖该数据库。我建议您使用带有 SQLite 的数据库,请参阅此处的in-memory示例
| 归档时间: |
|
| 查看次数: |
2429 次 |
| 最近记录: |