补全:抓住那个错版本
(每道题开头都有同一段:被测模块 c_to_f / length,和一个静音跑测试的 run(),它交回「跑了几条/挂了几条/出错几条」。) length3 是个错版本:把 src 和 to 用反了。补全 test_direction,让它
文件名也有规矩
python3 -m unittest discover 在目录里找测试文件。默认能被找到的文件名是【0】。
一个类装什么
被测模块有 c_to_f 和 length 两个函数。测试类通常按【0】来划分。
setUp 是干什么的
好几条用例都要先准备同一份数据。把准备工作写进 setUp,效果是【0】。
setUp 跑了几次
(每道题开头都有同一段:被测模块 c_to_f / length,和一个静音跑测试的 run(),它交回「跑了几条/挂了几条/出错几条」。) setUp 里给计数器加一,三条用例。运行程序,看它被调了几次: import io, unitt
补全:按函数分成两个类
(每道题开头都有同一段:被测模块 c_to_f / length,和一个静音跑测试的 run(),它交回「跑了几条/挂了几条/出错几条」。) 四条用例挤在一个类里。拆成 TestTemp 和 TestLength 两个类(各两条),run
补全:用 setUp 准备共享数据
(每道题开头都有同一段:被测模块 c_to_f / length,和一个静音跑测试的 run(),它交回「跑了几条/挂了几条/出错几条」。) 两条用例都要一份可以随便改的单位表。补全 setUp:把 LEN 复制一份存到 self.tabl
补全:模拟 discover 的文件筛选
unittest discover 默认只收 test*.py。补全 discoverable,输出五个文件名里能被发现的有几个、以及它们的名字。
补全:从报告里认出是谁挂了
(每道题开头都有同一段:被测模块 c_to_f / length,和一个静音跑测试的 run(),它交回「跑了几条/挂了几条/出错几条」。) 两个类各一条用例,其中一条会挂。补全最后一行:从 r.failures 里取出挂掉那条的 id,打
TDD 先写哪个
要给模块新加一个 fmt(x)(最多两位小数、去尾零)。按测试驱动的做法,第一步是【0】。