如何在测试开始之前调用php artisan doctrine:schema:update?菲普尼特
我想使用PHPUnit测试我的项目。我的项目是建立在拉维尔和教义之上的。对于测试,我使用sqlite如何在测试开始之前调用php artisan doctrine:schema:update?菲普尼特,php,laravel,phpunit,Php,Laravel,Phpunit,我想使用PHPUnit测试我的项目。我的项目是建立在拉维尔和教义之上的。对于测试,我使用sqlite:内存:数据库。因为它是一个内存数据库,所以在测试之前我不能从我的实体生成表,并且我必须在phpunit启动时调用phpartisan-doctor:schema:update 我试图将RefreshDatabase特性添加到类中,但仍然不起作用: namespace Tests\Unit\Example; use Tests\TestCase; use Illuminate\Foundatio
:内存:
数据库。因为它是一个内存数据库,所以在测试之前我不能从我的实体生成表,并且我必须在phpunit
启动时调用phpartisan-doctor:schema:update
我试图将RefreshDatabase
特性添加到类中,但仍然不起作用:
namespace Tests\Unit\Example;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
use EntityManager;
class MyExampleTest extends TestCase
{
use RefreshDatabase;
// ...
}
我得到这个错误:
General error: 1 no such table: users
如果要在每次测试之前运行迁移,可以使用
illumb\Foundation\Testing\RefreshDatabase
特性,这将从迁移中设置数据库表,并在运行测试之前清除所有内容
因此,要使用它,请包含该类并将use RefreshDatabase
添加到测试类中
这里是到文档的链接。
在测试类中使用
setUp
方法?我这样做了,但是我得到了这个错误:一般错误:1没有这样的表:users
用户迁移可能是运行迁移时第一个运行的迁移,所以也可以检查迁移和与de DB的连接