2017-04-26 94 views
3

函数返回JSON数据测试我有一个功能,它返回JSON数据我怎么能写在laravel

return response()->json([ 
    'status' => 'OK', 
    'data' => [ 
     'id' => $dataInfo->id, 
    ], 
]); 

我怎么能在测试解决这个问题的功能?

回答

1

你可以看看:https://laravel.com/docs/5.4/http-tests#testing-json-apis

例(在你的单元测试文件中添加以下):

$this->json('post', 'your/route') 
    ->assertStatus(200) 
    ->assertJson([ 
     'status' => 'OK', 
    ]); 
+1

PHPUnit_Framework_Exception:参数#1 PHPUnit_Framework_Assert :: assertJson((无值))必须是一个字符串 我得到这个 – flower

1

您可以使用assertJson()和其他类似的方法在Laravel 5.4:

$this->json('put', 'api/some-url') 
     ->assertStatus(200) 
     ->assertJson([ 
      'status' => 'OK', 
      'data' => [ 
       'id' => 5, 
      ] 
     ]); 

https://laravel.com/docs/5.4/http-tests#testing-json-apis

在Laravel 5.3和更低,JSON测试方法不同。主要使用的是seeJson()

https://laravel.com/docs/5.3/application-testing#testing-json-apis

+0

的ID我手动输入不响应? – flower

+0

@flower通常您在测试响应时期待某些指定的数据。 –

+0

我试试:)但我得到这个错误 PHPUnit_Framework_Exception:PHPUnit_Framework_Assert :: assertJson()的参数#1(无值)必须是字符串 – flower