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
在最近的版本Laravel(5.4截至目前),中seeInDatabase和missingFromDatabase方法不可用.相反,有assertDatabaseHas和assertDatabaseMissing方法.用法是一样的:
->assertDatabaseHas($table, array $data)
->assertDatabaseMissing($table, array $data)
所以,如果你现在使用最新版本的Laravel并进行测试,你应该尝试assertDatabaseMissing().