在Laravel 5.1中,有一种方法可以使用seeInDatabase($ table,$ fields)在资源数据库中进行资产...
有没有办法断言某些数据不在数据库中?类似于dontSeeInDatabase ...类似于dontSeeJson
答案 0 :(得分:18)
Laravel v5.6
断言名称已更改
->assertDatabaseMissing(string $table, array $data, string $connection = null)
相反的是
->assertDatabaseHas(string $table, array $data, string $connection = null)
以前的Laravel版本
有两种方法:
->notSeeInDatabase($table, array $data)
和
->missingFromDatabase($table, array $data)
一个只是另一个的别名。
有关可用测试方法的完整列表,请查看位于vendor/laravel/framework/src/Illuminate/Foundation/Testing
答案 1 :(得分:6)
在最新版本的Laravel(截至目前为5.4)中,seeInDatabase
和missingFromDatabase
方法不可用。相反,有assertDatabaseHas
和assertDatabaseMissing
方法。用法是一样的:
->assertDatabaseHas($table, array $data)
->assertDatabaseMissing($table, array $data)
因此,如果您现在使用Laravel的最新版本并进行测试,则应尝试使用assertDatabaseMissing()
。