codecamp

Laravel 8 可用的断言方法

Laravel 为你的 PHPUnit 功能测试提供了几个数据库断言方法:

方法 描述
$this->assertDatabaseCount($table, int $count); 断言数据表包含给定数量的实体。
$this->assertDatabaseHas($table, array $data); 断言数据表包含给定数据。
$this->assertDatabaseMissing($table, array $data); 断言数据表不包含给定数据。
$this->assertDeleted($table, array $data); 断言给定记录是否被删除。
$this->assertSoftDeleted($table, array $data); 断言给定记录已经被软删除。

为方便起见,你可以传递一个模型实例到 assertDeletedassertSoftDeleted 函数来断言对应数据库记录是否被删除或软删除,底层依据的是模型主键与数据表记录建立关联。

举个例子,如果你在你的测试中使用了一个模型工厂,你可以传入这个其中一个模式来帮助测试你的应用是否正确的删除了数据库的记录:

public function testDatabase()
{
    $user = User::factory()->create();

    // 调用这个程序...

    $this->assertDeleted($user);
}  


Laravel 8 使用种子
Laravel 8 测试模拟器 Mocking
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

Laravel 8 入门指南

Laravel 8 基础功能

Laravel 8 前端开发

Laravel 8 安全相关

Laravel 8 综合话题

数据库

Eloquent ORM

测试相关

官方拓展包

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }