[Day 12] 简单的单元测试实作(六)

其实到目前为止,
我们所做的动作都差不多,
只是差在逻辑上的判断而已,
相信大家已经觉得有点拖屏了,
今天就是这个题目的最後一天了,
我们接下来一口气加入四组资料

public function input_number()
{
    return [
        ['4', '闰年'],
        ['2020', '闰年'],
        ['1900', '平年'],
        ['2100', '平年'],
        ['2000', '闰年'],
        ['1600', '闰年'],
        ['2021', '平年'],
        ['2023', '平年'],
    ];
}

那我们预期400的倍数应该会误判,
然後无法被4整除的部分可以判断出来,
所以应该会有两组是错误的,
我们现在执行看看
php vendor/phpunit/phpunit/phpunit tests/Feature/MyFirstUnitTest.php
https://ithelp.ithome.com.tw/upload/images/20210913/20105694eNeEUZdiUn.png

果然跟我们预期的一样,
所以现在要来修改web.php了

Route::get('/getLeapYear/{id}', function($id) {
    if($id % 400 == 0)
        return "闰年";
    if($id % 100 == 0)
        return "平年";
    if($id % 4 == 0)
        return "闰年";
    return "平年";
});

改完之後我们再来执行看看,
是不是成功了
php vendor/phpunit/phpunit/phpunit tests/Feature/MyFirstUnitTest.php
https://ithelp.ithome.com.tw/upload/images/20210913/20105694ygjGZjBzaJ.png

果然是如我们所预料的,
全部的条件都通过了,
当然为了确保资料的正确性,
我们可以用更多的数据下去测试,
不过这部分我们就不再多赘述了。

接下来我们又遇到了一个问题,
正常来说我们并不会将计算的方法直接写在web.php当中,
而且这也不符合MVC的特性,
所以我们明天开始就要来改写这个部分。


<<:  【Day 13】jQuery下载安装

>>:  onnx - 用 netron 查看 onnx 模型版本参考笔记

[必学] iPhone、iPad 和 iPod 的 AirPlay 失灵的解决方法

AirPlay 自 iOS 5 开始在 iPhone 和 iPad 推出後,一直以简单有用着称。Ai...

Day18-TypeScript(TS)的类别(Class)继承(Inheritance)

今天要来带大家看看TypeScript(TS)的类别(Class)继承(Inheritance)范例...

Day 10 : PHP - 常用的阵列函数有哪些?

上篇介绍了PHP的阵列宣告、印出方式,这篇想和大家介绍PHP常用的阵列函数有哪些 1.in_arra...

强型闯入DenoLand[25] - 使用 Deno 打造多线程应用(2)

强型闯入DenoLand[25] - 使用 Deno 打造多线程应用(2) 在了解何谓多线程以後,...

RxJS 错误处理 Operators (1) - catchError / finalize / retry / retryWhen

今天来介绍一些跟「错误处理」有关的 operators。在使用 RxJS 时,资料流是透过 pipe...