每次我运行测试时
php artisan test
当我想查看数据库中插入的数据时,表完全是空的。
这是我的测试
class ExampleTest extends TestCase
{
use RefreshDatabase;
/**
* A basic test example.
*
* @return void
*/
public function testBasicTest()
{
$ad = new Ad();
$ad->name = 'test';
$ad->price = 100000;
$ad->save();
$this->assertTrue($ad->id > 0);
var_dump($ad->id);
}
}
Run Code Online (Sandbox Code Playgroud)
测试验证数据库是否正确生成了id,每次结果都是正确的。
从我的角度来看,特征 RefreshDatabase 会在每次测试之前刷新数据库,而不是之后......这怎么可能?
注意:我确信我正在检查正确的数据库,因为如果我删除use RefreshDatabase
我可以看到记录。
精确:
RefreshDatabase
如果我不使用DatabaseTransactions
,我可以在运行测试后看到记录。我无法理解它......
小智 5
我假设您RefreshDatabase
已经在使用。
首先要检查的是 phpunit.xml 文件及其数据库设置。它应该是一个内存数据库。
第二件事是检查您是否在开发环境中缓存配置。
第一次只运行php artisan config:clear
一次。然后运行您的测试。
注意:不要缓存本地开发的配置。
归档时间: |
|
查看次数: |
3009 次 |
最近记录: |