laravel - Laravel 5.2:测试中seeJson的逆(reverse)
问题描述
我一直在 Laravel 5.2 上使用 PHPUnit 4.8,想知道是否可以查看 API 调用的响应中是否没有 JSON 对象。
您可以查看响应是否具有特定对象,但是相反呢?
$this->json('GET', 'api/items')
->seeJson(['id' => "100"])
->notSeeJson(['id' => "222"])//Is there anything like it?
->assertResponseOk();
我一直在阅读 PHPUnit 和 Laravel 5.2 的文档,但还没有找到如何实现它。
任何建议将被认真考虑。
附言
为了确保响应中不包含特定对象,只需计算响应具有的对象总数即可。
使用较新版本的 PHPUnit,可以使用assertJsonCount(2, 'data')
.
但是 PHPUnit4/Laravel5.2 怎么样?
解决方案
重要的是要注意这些是 Laravel 5.2 方法,而不是 PHPUnit 方法,定义在Illuminate\Foundation\Testing\TestCase
.
seeJson 的倒数是 dontSeeJson。
$this->json('GET', 'api/items')
->seeJson(['id' => "100"])
->dontSeeJson(['id' => "222"])
->assertResponseOk();
推荐阅读
- python - 如何按账户拆分训练数据和测试数据(一个变量)
- javascript - 使用带有动态项目数组的 react-spring useSprings
- python - 具有两个分类变量的 Matplotlib 点图
- javascript - 当我运行 index.html 时 android 没有检测到我的 .css 和 .js 文件怎么办?
- node.js - 是否可以将功能从服务器发送到客户端?
- c# - How to create dynamic type DbSet in Entity Framework .Net Core application?
- yii2 - How to give active class to clicked button in Yii2
- javascript - How do I do something LIKE in mysql in javascript?
- sql-server - SQL Server INSERT INTO using transaction
- java - Why do i have to return from a function that switches on an enum and covers every possible entry?