我有一个元数据表,需要测试插入数据:
public function test_insert_unique_data()
{
$response = Metadata::create([
'metable_id' => '1',
'metable_type' => File::class,
'type' => 'resolution',
'key' => 'width',
'value' => 1000,
]);
$response->assertCreated();
}
这是表的迁移:文章源自玩技e族-https://www.playezu.com/180051.html
Schema::create(..., function (Blueprint $table) {
$table->id();
$table->bigInteger('metable_id')->unsigned()->index();
$table->string('metable_type')->index();
$table->string('type')->default('default');
$table->string('key')->index();
$table->text('value');
$table->timestamps();
每次都会失败,所以我只能假设测试写错了。有什么指示吗?文章源自玩技e族-https://www.playezu.com/180051.html 文章源自玩技e族-https://www.playezu.com/180051.html
未知地区 2F
我不知道这件事 资产已创建 但我知道类似的事情:
public function test_insert_unique_data()
{
$metadata = Metadata::create([
‘metable_id’ => ‘1’,
‘metable_type’ => File::class,
‘type’ => ‘resolution’,
‘key’ => ‘width’,
‘value’ => 1000,
]);
$this->assertModelExists($metadata);
}
未知地区 1F
为什么不直接使用工厂?他们在数据库测试部分有各种断言。
除非有什么原因,否则每一次使用我在现代Laravel中看到的任何模型的测试(我来自Laravel 3-5天)都是使用工厂。