函数进行单元测试
- 单个函数进行测试
- 示例
def delRepeat(data, key):
"""Return delete repeat dict
>>> delRepeat([{"id": 1, "value": 2}, {"id": 1, "value": 2}, {"id": 2, "value": 3}], "id")
[{'id': 1, 'value': 2}, {'id': 2, 'value': 3}]
"""
new_data = []
values = []
for d in data:
if d[key] not in values:
new_data.append(d)
values.append(d[key])
return new_data
-
执行
python3 -m doctest xxx.py
若无错误提示则通过 -
方式二
def delRepeat(data, key):
"""Return delete repeat dict
"""
new_data = []
values = []
for d in data:
if d[key] not in values:
new_data.append(d)
values.append(d[key])
return new_data
def del_repeat_tests():
data = [{"id": 1, "value": 2}, {"id": 1, "value": 2}, {"id": 2, "value": 3}]
assert len(delRepeat(data, "id")) == 2
-
执行
python3 -m doctest xxx.py
若无错误则通过 -
高效测试的关键是在实现新的函数之后(甚至是之前)立即编写(以及执行)测试,只调用一个函数的测试叫做单元测试,详尽的单元测试是良好程序设计的标志
-
赋值运算 getitem(x,0)
-
for 循环中使用
for _ in data
表示这个名称不应出现在任何表达式中