欢迎关注微信公众号“Python小灶,和我一起每天学习Python新知识”,还可添加博主Vx:yf03064131,方便一起交流学习。
或者B站搜索 有只小新
原视频地址链接:点击这里
代码地址:点击这里
本文为大致翻译以及操作实践。
测试驱动开发概念
测试驱动开发,也称为红绿重构,英文全称Test-Driven Development,简称TDD,是一种不同于传统软件开发流程的新型的开发方法。它要求在编写某个功能的代码之前先编写测试代码,然后只编写使测试通过的功能代码,通过测试来推动整个开发的进行。
测试驱动开发的五个步骤
- step1
编写测试,编写功能代码前,先编写在满足功能规范时才能通过的测试开始 - step2
运行测试,并确保它Fail,此时意味着你的测试生效(预期就是fail) - step3
编写最简单的代码,以便测试可以通过,但是不必在此步骤做的完美 - step4
确保所有测试可以通过,包括旧的测试项,确保新功能符合规范,并且不会对其它东西造成破坏 - step5
重构和改进代码
代码实例讲解
我们按照上述的五个步骤,依次讲解
step1:想实现一个支付员工工资的功能,先不实现这个功能,把大体结构写出来:
关于dataclass的用法,看我文章:每日Python小技巧–dataclass
"""
Very advanced Employee management system.
"""
from dataclasses import dataclass
@dataclass
class Employee:
"""Basic representation of an employee."""
name: str
employee_id: int
pay_rate: float = 100.0
hours_worked: float = 0.0
employer_cost: float = 1000.0
has_commission: bool = True
commission: float = 100.0
contracts_landed: int = 0
def compute_payout(self) -> float:
"""Compute how much the employee should be paid."""
raise NotImplementedError()
step2:编写测试并运行,此时运行应该都是失败的,因为功能没有实现:
"""
Employee class tests.
"""