本文已使用 Google Cloud Translation API 自动翻译。
某些文档最好以原文阅读。
测试驱动开发 (TDD) 是一种软件开发过程,它依赖于非常短的开发周期的重复:首先,开发人员编写一个(最初失败的)自动化测试用例来定义所需的改进或新功能,然后产生最小数量代码以通过该测试,并最终将新代码重构为可接受的标准。
TDD 与传统的瀑布开发模型相反,后者在任何编码开始之前收集需求。
TDD 可用于提高代码质量并使其更健壮。它还可以帮助您避免返工,从而提高开发过程的效率。
采用 TDD 进行后端开发的原因有很多。以下是一些最重要的好处:
TDD 迫使您考虑要添加或更改的功能,以及应该如何使用这些功能。这有助于您编写更易于理解、可维护和可测试的代码。
如果测试失败,则意味着您的代码中存在错误。通过在编写代码之前编写测试,您可以及早发现错误并避免以后修复它们。
TDD 可以帮助您避免编写不必要的代码。如果您发现您正在编写测试未涵盖的代码,则很可能不需要该代码。
TDD 可以帮助您避免编写不需要的代码,从而帮助您按时完成任务。通过专注于所需的功能,您可以避免编写不需要的代码并节省时间。
回归是破坏现有功能的更改。通过在编写代码之前编写测试,可以避免引入回归。
TDD 是一个由三个步骤组成的过程:
第一步是编写一个测试来定义您要添加或更改的功能。测试应该以在代码运行时失败的方式编写。
第二步是编写使测试通过的代码。代码应该以易于理解和维护的方式编写。
第三步是重构代码。这样做是为了提高代码的质量并使其更易于维护。
假设我们要向后端添加一个将摄氏度转换为华氏度的新函数。我们将从为新功能编写测试开始:
def test_celsius_to_fahrenheit(self):
celsius = 100
fahrenheit = 212
self.assertEqual(celsius_to_fahrenheit(celsius), fahrenheit)
该测试定义了新函数的功能。然后我们将编写代码使测试通过:
def celsius_to_fahrenheit(celsius):
fahrenheit = celsius * 9 / 5 + 32
return fahrenheit
最后,我们将重构代码以提高质量:
def celsius_to_fahrenheit(celsius):
"""Converts Celsius to Fahrenheit."""
fahrenheit = celsius * 9 / 5 + 32
return fahrenheit
TDD 是一种软件开发过程,可以帮助您编写更好的代码、及早发现错误并避免回归。它是一个由三个步骤组成的过程:编写测试、编写代码和重构代码。