![](/img/trans.png)
[英]Laravel 8 Unit Testing - assertJson() how to capture it in controller
[英]PHP Unit test assertJSON(
在对 JSON 响应进行单元测试时,我使用的是 assertJson(...)
assertJson([
$booking1->only(['user_id', 'service_id','start', 'end']),
$booking2->only(['user_id', 'service_id','start', 'end']),
$booking3->only(['user_id', 'service_id','start', 'end']),
$booking4->only(['user_id', 'service_id','start', 'end']),
]);
我的失败信息是:
Failed asserting that an array has the subset Array &0 (
0 => Array &1 (
'user_id' => 25
'service_id' => 16
'start' => '2019-12-02 09:41:58'
'end' => '2019-12-02 09:56:58'
)
1 => Array &2 (
'user_id' => 25
'service_id' => 16
'start' => '2019-12-02 10:26:58'
'end' => '2019-12-02 10:36:58'
)
2 => Array &3 (
'user_id' => 26
'service_id' => 16
'start' => '2019-12-02 09:41:58'
'end' => '2019-12-02 09:56:58'
)
3 => Array &4 (
'user_id' => 26
'service_id' => 16
'start' => '2019-12-02 10:26:58'
'end' => '2019-12-02 10:36:58'
)
).
--- Expected
+++ Actual
@@ @@
array (
- 0 =>
- array (
- 'user_id' => 25,
- 'service_id' => 16,
- 'start' => '2019-12-02 09:41:58',
- 'end' => '2019-12-02 09:56:58',
- ),
- 1 =>
- array (
- 'user_id' => 25,
- 'service_id' => 16,
- 'start' => '2019-12-02 10:26:58',
- 'end' => '2019-12-02 10:36:58',
- ),
- 2 =>
- array (
- 'user_id' => 26,
- 'service_id' => 16,
- 'start' => '2019-12-02 09:41:58',
- 'end' => '2019-12-02 09:56:58',
- ),
- 3 =>
- array (
- 'user_id' => 26,
- 'service_id' => 16,
- 'start' => '2019-12-02 10:26:58',
- 'end' => '2019-12-02 10:36:58',
- ),
)
“Array &0 ( vs array (”) 这里有一些不同之处,除了数据看起来是一样的。
谁能告诉我这些差异的重要性是什么? 还是我在这里也错过了其他东西?
谢谢
这个问题是我对错误消息的解释是错误的 - +++ Actual 误导了我,让我认为这是“实际”响应。 我没有注意到“失败”声明之前的部分:
within response JSON:
[[]]
所以响应是空的,错误消息告诉我,大概是 +++ 实际是我正在寻找的东西?
所以没有实际的错误——只是我对响应的解释是错误的。
谢谢大家看这个!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.