LARAVEL UNIT TEST - 与seeInDatabase相反

gio*_*ima 6 php phpunit unit-testing laravel laravel-5.1

在Laravel 5.1中,如果某些数据使用seeInDatabase($ table,$ fields)在数据库中,则有一种资产方法...

有没有办法断言某些数据是否不在数据库中?像dontSeeInDatabase这样的东西......与dontSeeJson类似

Jav*_*olz 18

Laravel v5.6

断言名称已更改

->assertDatabaseMissing(string $table, array $data, string $connection = null) 
Run Code Online (Sandbox Code Playgroud)

相反的是

->assertDatabaseHas(string $table, array $data, string $connection = null)
Run Code Online (Sandbox Code Playgroud)

以前的Laravel版本

有两种方法:

->notSeeInDatabase($table, array $data)  
Run Code Online (Sandbox Code Playgroud)

->missingFromDatabase($table, array $data)
Run Code Online (Sandbox Code Playgroud)

一个只是另一个的别名.

有关可用测试方法的完整列表,请查看位于的特征 vendor/laravel/framework/src/Illuminate/Foundation/Testing


Ard*_*rda 6

在最近的版本Laravel(5.4截至目前),中seeInDatabasemissingFromDatabase方法不可用.相反,有assertDatabaseHasassertDatabaseMissing方法.用法是一样的:

->assertDatabaseHas($table, array $data)

->assertDatabaseMissing($table, array $data)

所以,如果你现在使用最新版本的Laravel并进行测试,你应该尝试assertDatabaseMissing().