如何在Laravel中使用内存数据库在完整测试套件之前进行迁移和填充(seed)?

4 浏览
0 Comments

如何在Laravel中使用内存数据库在完整测试套件之前进行迁移和填充(seed)?

我正在尝试在我的Laravel项目中设置测试环境。

我正在使用http://packalyst.com/packages/package/mayconbordin/l5-fixtures和json来进行数据填充,并使用内存中的sqlite数据库,并在我的setUp函数中调用:

Artisan::call('migrate');
Artisan::call('db:seed');

但是这会在每个单独的测试之前执行,而在这个项目中可能会有成千上万个测试。

我尝试了setUpBeforeClass,但它没有起作用。

我认为这是因为在每个测试中都调用了createApplication方法,这会重置整个应用程序,并且由于同样的原因,它也没有从json中加载fixture数据。

0