补全:空文件和坏数据各一条

补全:空文件和坏数据各一条

补全两条用例:只有表头时好行坏行都为空;一行 five 时坏行号是 [2]。输出 跑了/过了。

阅读更多 →
补全:写一条正常用例

补全:写一条正常用例

补全用例:对两行正常数据跑 clean,断言好行数是 2、坏行为空。输出 跑了/过了。

阅读更多 →
挂掉的那一条

挂掉的那一条

同一套 CHECK,这次用例里有一条的期望值写错了。运行程序: ran, passed, failed = 0, 0, [] def CHECK(name, cond): global ran

阅读更多 →
三条用例的结果

三条用例的结果

下面对 clean 跑三类用例。运行程序,看 跑了几条 / 过了几条: import csv, io ran, passed = 0, 0 def CHECK(cond): global r

阅读更多 →
为什么不直接 assert

为什么不直接 assert

本节用 CHECK(cond) 记录跑了几条、过了几条,而不是一句句 assert。这样做的好处是【0】。

阅读更多 →
数据工具的用例分几类

数据工具的用例分几类

给这个数据工具写测试,最少要覆盖的三类输入是【0】。

阅读更多 →
补全:--format 接到写出函数上

补全:--format 接到写出函数上

补全 run:按 a.format 选择写 CSV 还是 JSON(写进内存)。输出两种格式各写出多少行。

阅读更多 →
补全:--by 接到汇总函数上

补全:--by 接到汇总函数上

补全 run:解析 argv,按 a.by 分组汇总。输出按 store 和按 date 各汇总出几组。

阅读更多 →
补全:用法错交回 2

补全:用法错交回 2

沿用 project_01 的 QuietParser。补全 main:解析失败交回 2,成功交回 0。输出三组参数的退出码。

阅读更多 →
补全:把解析器搭起来

补全:把解析器搭起来

补全 build_parser:位置参数 input,选项 --output(默认 result.csv)、--by(默认 store)、--format(默认 csv,只许 csv/json)。输出

阅读更多 →