补全:把红缩到一步

👁️ 2 人浏览 💬 0 人评论 ❤️ 添加收藏

(每道题开头都有同一段:上面那套被测系统、unittest 和 mock,以及 eng_07 的静音 run(*cases)——交回「跑了几条/挂了几条/出错几条」。)

贯穿全条的被测系统(四段流水线):

parse(line)            "苹果 3 2.5" → ("苹果", 3, 2.5);不是三段就 raise ValueError
subtotal / discount    数量×单价;合计满 100 打九折
Store                  add(名, 数量, 单价);total() = discount(各小计之和)
report(store, rate)    每样一行「名 数量 小计」,末行「合计 X 约 Y 外币」(Y = X / 汇率)
fetch_rate()           真的去连汇率服务——本地没网,一调就 ConnectionError
handle(lines, get_rate)  整条流水线:parse 每行 → Store → report(get_rate())

端到端红了、单元全绿。补全 locate(lines, rate, want):按流水线顺序逐步检查——parse 全部能过吗(否则「parse」);Store.total 是否等于 want_total(否则「total」);report 末行是否等于 want_last(否则「report」);都对交回「ok」。

提交你的答案
请登录后提交答案。
去登录
代码编辑器
Ctrl + Enter 运行
本次输入:
输出:

                        
👩‍🏫
AI
💬 题目评论

全部评论