工程化
unittest 单元测试
使用 unittest 编写和运行测试
- 理解测试驱动开发
- 编写 unittest 测试用例
- 使用 setUp/tearDown
第一个测试
示例代码(可运行)
Python 0%
常用断言
示例代码(可运行)
Python 0%
setUp 和 tearDown
示例代码(可运行)
Python 0%
💡测试原则
一个测试只测一个行为。测试名称要描述场景:test_divide_by_zero_raises_error。先写测试再写代码(TDD)能写出更好的设计。
预测输出
print(3 > 2 and 1 > 2)找 Bug用assert而非self.assertXxx,测试失败时unittest无法正确捕获和报告。
class T(unittest.TestCase):
def test_add(self):
assert add(2,2) == 5
填空题填写空白处的代码
self.Equal(a, b) # 断言相等
选择题
每个测试前执行的方法?
资深工程师加餐
底层原理 · 大厂视角 · 工程经验,点卡片展开
底层是大量、快速、稳定的单元测试(优先覆盖纯函数与边界/异常路径),中间是少量集成测试(验证模块协作),顶端是少量端到端测试(慢且脆)。测试最大的价值是当「安全网」:有它你才敢放心重构。没测试兜底的重构,本质是在赌博。写用例先想正常、边界、异常三类。
挑战任务
unittest挑战
简单+50 XP
给字符串工具函数写完整测试。
unittest挑战
Python 0%
2 个测试用例
课后作业
计算器测试
中等+20 XP
给加减乘除计算器写完整测试。
计算器测试
Python 0%
1 个测试用例