[Day 22] 针对API的单元测试(二)

我们昨天已经测试了一个Json的API,
那我们今天将测试方法改成这样

public function test_user_add_name2()
{
    $this->post('/api/user/add', ['name' => 'Sally'])
         ->seeJsonEquals([
             'created' => true,
         ]);
}

seeJsonEquals是要求必须完全一样才会通过,
不过我们的API里面其实回传了两个参数,
所以我们预期应该是不会通过的,
那我们来测试看看
php artisan test
https://ithelp.ithome.com.tw/upload/images/20210923/20105694MOAn8rQiBR.png

果然跟我们预测的是一样的,
现在我们来修改我们的API让它跟我们要的完全一样,
其实也很简单,
就把name那一行注解掉就好了
APIController.php

//$result['name'] = $input['name'];

然後再测试一次
php artisan test
https://ithelp.ithome.com.tw/upload/images/20210923/201056949ObCvX5htO.png

顺利地通过了!

另外如果是用新版的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,
            ]);
}

<<:  Day9 HTML 常用标签: table

>>:  D13 - 用 Swift 和公开资讯,打造投资理财的 Apps { 加权指数K线图实作.1 }

Day-16 Pytorch 的 Training 流程

我们昨天已经讲解完了最基础 Regression 的简易 Pytorch 实作了,那我们今天要稍微...

第 2 天 诸神早安晨之美|建立 Angular 专案、使用 JSON-server

今天我们将建构专案开发环境,除了 Angular 之外,我们也将在专案中配置 json-server...

Extra04 - Git - 程序码版本控制

此篇为番外,未收入在本篇的原因是 Git 是个复杂但很基础的工具,因此大部分的人都已经有个初步的认...

给自己学习30天重新认识css

哈罗大家好,我是黄奇昌 我就读岭东科技大学视觉传达设计系 今年是第一次参加13th铁人赛,想跟大家好...

ISMS 程序书1~4阶着样写

(一)政策性(第一阶文件) 说明ISMS目标、方向及执行原则。 文件:资安政策、资安组织 ISMS-...