我們昨天已經測試了一個Json的API,
那我們今天將測試方法改成這樣
public function test_user_add_name2()
{
$this->post('/api/user/add', ['name' => 'Sally'])
->seeJsonEquals([
'created' => true,
]);
}
seeJsonEquals是要求必須完全一樣才會通過,
不過我們的API裡面其實回傳了兩個參數,
所以我們預期應該是不會通過的,
那我們來測試看看
php artisan test
果然跟我們預測的是一樣的,
現在我們來修改我們的API讓它跟我們要的完全一樣,
其實也很簡單,
就把name那一行註解掉就好了
APIController.php
//$result['name'] = $input['name'];
然後再測試一次
php artisan test
順利地通過了!
另外如果是用新版的TestCase,
改成這樣是一樣的結果
public function test_user_add_name()
{
$this->post('/api/user/add', ['name' => 'Sally'])
->assertStatus(200)
->assertJson([
'created' => true,
]);
}
public function test_user_add_name2()
{
$this->post('/api/user/add', ['name' => 'Sally'])
->assertStatus(200)
->assertExactJson([
'created' => true,
]);
}