我试图断言数据库中有记录,但是记录失败,而且我不知道如何解决该问题
我的代码是:
class ControlTransferRejectTest extends TestCase
{
use RefreshDatabase;
private const TO_USER_ID = 'to_user_id';
private const FROM_USER_ID = 'from_user_id';
private const TC_SITE_ID = 'tc_site_id';
private const CONTROL_TYPE = 'type';
private const ROUTE_STORE = 'controltransfers.store';
public function setUp()
{
parent::setUp();
// spin up 16 sites to support control transfer
$this->sites = create('App\Site', [], 16);
// spin up 107 users to support control transfer
$this->users = create('App\User', [], 107);
}
/** @test */
public function authenticated_user_with_pending_control_transfer_rejects()
{
// ARRANGE test preconditions
$postArray = [
self::TO_USER_ID => $this->users[0]->id,
self::TC_SITE_ID => $this->sites[0]->id,
self::CONTROL_TYPE => 'Transfer'
];
$response = $this->post(route(self::ROUTE_STORE), $postArray);
$this->assertDatabaseHas('control_transfers', [
self::TO_USER_ID => $this->users[0]->id,
parent::SITE_ID => $this->sites[0]->id,
self::FROM_USER_ID => $this->users[1]->id,
self::CONTROL_TYPE => 'Transfer',
'outcome' => NULL,
'pending' => True
]);
// ACT on the items under test
// ASSERT that the expected results have occurred
}
}
但是当我尝试执行测试时,它会说
表为空 供应商/laravel/framework/src/Illuminate/Foundation/Testing/Concerns/InteractsWithDatabase.php:22
我的用例是我正在调用一个控制器函数,该函数在两个不同的表中创建记录。
我正在尝试在一个表中进行检查,但是由于上述错误而失败。