[Day 09] 简单的单元测试实作(三)

昨天我们已经测试了4这个数字,
但是除了4是闰年以外,
去年(2020年)应该也是闰年,
所以我们再输入2020这个数字,
看看会不会如我们预期的跳错误。
我们在MyUnitTest.php里面加入

public function test_leapyear_check_2020()
{
    $response = $this->get('/getLeapYear/2020');

    $this->assertSame("闰年", $response->getContent());
}

然後再执行
php vendor/phpunit/phpunit/phpunit tests/Feature/MyFirstUnitTest.php
https://ithelp.ithome.com.tw/upload/images/20210910/201056942w2tBxykyp.png

果然是跳错误了,
然後我们再修改web.php

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

然後再执行一次
php vendor/phpunit/phpunit/phpunit tests/Feature/MyFirstUnitTest.php
https://ithelp.ithome.com.tw/upload/images/20210910/20105694TrMpEUOZcQ.png

果然是成功地通过了,
但是我们现在发现一个问题,
如果我们要确定我们所写的功能是正确的,
可能需要带入大量的资料,
然後每个资料都要这样子写,
那我们的程序会变得又臭又长而且不好维护,
万一哪天闰年的规则改了,
(这应该不会,但是产品的需求是可能会修改,而且可能常常改)
那我要回来修改这几十上百个function,
是不是累死人了,
而且很多都是重复的程序码,
所以我们为了程序的可读性和好维护,
明天我们就要来进行重构的动作。


<<:  Day4 决策树(Decision tree)

>>:  鬼故事 - 不修拉,这辈子都不可能修的

【Day 11】Button Template 应用 part 2

昨天原本要连同 Confirm buttom 一起讲的~,但平均一下每天的文章量,今天再接着讲另一个...

Day30_终於结束了

嗨~大家,30天说长不长,说短也不短,谢谢这30天来大家的陪伴,坚持30天不间断的发文,真的是一个大...

使用 DOM Parser 取值

这篇会讲解怎麽样用 DOM 的 parser 把 RSS 资讯拿出来,首先我们可以先 new 一个 ...

从零开始学3D游戏开发:零件介面 Part.1 开始

这是 Roblox 从零开始系列,使用者介面章节的第五个单元,你将要学会如何开始在零件的表面上去设计...

Day17 购物车 -- 进阶应用

接着在讲一个也是很常用到的功能,优惠!!! 看似人人喜爱的两个字,实际上范围跟方法多到爆炸....,...