第四步:空数量当 0
(每道题开头都有同一段:被测的 clean(rows)(去空白、空数量当 0、整行去重、转不了的记行号)、静音的 run(),和造记录用的 row(store, qty)。) 补一条用例:数量为空的记录进 good、qty 是 0、不算坏行
交付:四条用例过五条验收
(每道题开头都有同一段:被测的 clean(rows)(去空白、空数量当 0、整行去重、转不了的记行号)、静音的 run(),和造记录用的 row(store, qty)。) 把前四步合成一个 TestClean。验收五条:正确版本全绿;三
真机上第一件事
拿到一个陌生项目,说明里说「有测试」。在动任何代码之前,最该先做的一件事是【0】。
从报告里抠出那个数
真机上 python3 -m unittest 的报告最后有一行 Ran 12 tests in 0.003s。要在脚本里把 12 抠出来查对照表,先在这里练: report = "..........FF\n======\nFA
一共跑了几条
场景:实验机的 ~/proj 里是一个带测试的小项目:被测模块 units.py 和四个测试文件。家目录有一份对照表——每个数字配一个标记。 任务:查出用 unittest 一次跑完全部测试时实际执行了几条用例,到对照表里查这个数对应的标记
挂的是哪一条
场景:~/proj/test_units.py 里有八条用例,跑起来有一条红。对照表按用例名配了标记。 任务:找出挂掉的那条用例的名字,到对照表里查它对应的标记。 可操作范围:只在分给你的这台实验机上操作。可以改家目录里的任何东西,不要动系
一条都没跑的那个文件
场景:~/proj 里有八个测试文件,用 unittest 一次跑完时,其中一个文件里的用例一条都没执行。每个文件开头的注释里都有一个标记。 任务:找出那个没被执行的文件,提交它开头注释里的标记。 可操作范围:只在分给你的这台实验机上操作。
让红变绿,但不许动测试
场景:~/proj 的测试现在是红的:units.py 里一个换算系数写错了,两条用例挂。 任务:只改 units.py,让 python3 -m unittest 全绿。测试文件一个字都不许动。改好之后运行 ~/check,它会核对测试没
先写一条能复现 bug 的测试
场景:用户反馈 ~/proj/units.py 的 mass 算错了,说明里给了具体现象。现在没有任何测试守着它。 任务:按测试驱动的做法,在 ~/proj/test_bug.py 里写一条用例复现它——对现在的 units.py 必须挂,
该报错的地方要报错
场景:~/proj/units.py 的 length 遇到不认识的单位会抛 ValueError。这条行为现在没有测试守着,说明里指定了一个单位。 任务:在 ~/proj/test_raise.py 里写一条用例,断言 length 对那