【问题标题】:LARAVEL UNIT TEST - Opposite of seeInDatabaseLARAVEL 单元测试 - 与 seeInDatabase 相对
【发布时间】:2015-11-28 01:43:30
【问题描述】:

在 Laravel 5.1 中,如果某些数据在数据库中,则使用 seeInDatabase($table,$fields)...

如果某些数据不在数据库中,有没有办法断言?类似于 dontSeeInDatabase... 类似于 dontSeeJson

【问题讨论】:

  • ! seeInDatabase() 怎么样?
  • NO seeInDatabase 不返回布尔值。

标签: php unit-testing laravel phpunit laravel-5.1


【解决方案1】:

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 的特征

【讨论】:

【解决方案2】:

在最新版本的 Laravel(目前为 5.4)中,seeInDatabasemissingFromDatabase 方法不可用。相反,有assertDatabaseHasassertDatabaseMissing 方法。用法一样:

->assertDatabaseHas($table, array $data)

->assertDatabaseMissing($table, array $data)

所以,如果你目前使用的是最新版本的 Laravel 并进行测试,你应该试试assertDatabaseMissing()

【讨论】:

    猜你喜欢
    • 2019-08-01
    • 1970-01-01
    • 2013-12-16
    • 1970-01-01
    • 2016-08-26
    • 2020-09-03
    • 2017-10-26
    • 2021-11-16
    • 1970-01-01
    相关资源
    最近更新 更多