许多人在开始编写代码之前都会谈论为他们的代码编写测试。这种做法通常称为测试驱动开发或简称 TDD。以这种方式编写软件可以给我带来什么好处?我如何开始这种做法?

有帮助吗?

解决方案

有很多好处:

  • 您可以立即获得有关代码是否正常运行的反馈,以便更快地发现错误
  • 通过看到测试从红色变为绿色,您就知道您既有有效的回归测试,也有有效的代码
  • 您将有信心重构现有代码,这意味着您可以清理代码,而不必担心它可能会破坏什么
  • 最后,您将拥有一套可以在自动构建期间运行的回归测试,让您更加确信您的代码库是可靠的

最好的开始方式就是开始。有一个伟大的 肯特·贝克所著的书 关于测试驱动开发的一切。只需从新代码开始,不用担心旧代码......每当您觉得需要重构某些代码时,请为现有功能编写测试,然后重构它并确保测试保持绿色。另外,请阅读 这篇很棒的文章.

其他提示

好处部分有 最近被覆盖, ,至于从哪里开始......在一个小型企业系统上,没有太多未知因素,因此风险很低。如果您还不了解测试框架(如 NUnit),请先学习它。否则,请从编写第一个测试开始:)

好处

  1. 你弄清楚如何划分你的代码
  2. 你准确地弄清楚你想要你的代码做什么
  3. 你知道它应该如何运作,以及未来重构是否会破坏任何东西
  4. 让您养成确保代码始终知道它应该做什么的习惯

入门

去做就对了。为您想要做的事情编写一个测试用例,然后编写应该通过测试的代码。如果您通过了测试,那就太好了,您可以继续编写代码始终会失败的案例(例如,2+2 不应等于 5)。

一旦所有测试都通过,就可以编写实际的业务逻辑来完成您想做的任何事情。

如果您是从头开始,请确保找到一个易于使用的良好测试套件。我喜欢 PHP,所以 PHPUnit 或 SimpleTest 工作得很好。几乎所有流行的语言都有一些 xUnit 测试套件可用于帮助构建和自动化测试。

在我看来,最棒的事情是它可以清楚地让您看到您的代码是否执行了预期的操作。这似乎是显而易见的,但正如我过去发现的那样,很容易偏离最初的目标:p

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top