sch*_*rht 17 php json unit-testing laravel-5.1
我正在使用Laravel 5.1 Testsuite.
现在,我用方法seeJson()测试我的json api.这个方法需要一个数组,例如:
->seeJson(['created' => 1]);
Run Code Online (Sandbox Code Playgroud)
但是我的json api总是返回一个json对象或带有json对象的数组,在这种情况下:
Response::json(['created' => 1], 200);
Run Code Online (Sandbox Code Playgroud)
在上面的例子中,我的json api返回:
{created: 1}
Run Code Online (Sandbox Code Playgroud)
但是seeJson()正好查找给定的数组:
[created: 1]
Run Code Online (Sandbox Code Playgroud)
我从来没有让我的测试通过匹配.我怎么配?
小智 3
我收到了类似的错误。
无法在 [{"created":"1"}......] 中找到 JSON 片段 ["created":1]
查看源码,该错误是这样写的:
"Unable to find JSON fragment [{$expected}] within [{$actual}]."
Run Code Online (Sandbox Code Playgroud)
所以[
]
没有被包含在搜索中
Response::json(['created' => 1], 200);
Run Code Online (Sandbox Code Playgroud)
结果是:
{"created":1}
当我转储seeJson()
方法内的响应内容时,所有值都用引号引起来。尝试将您的测试更改为:
->seeJson(['created' => '1']);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4018 次 |
最近记录: |