什么是单元测试?

超级模糊

我看到许多问题询问“如何”以特定语言进行单元测试,但没有问题询问“什么”,“为什么”和“何时”。

  • 它是什么?
  • 它对我有什么作用?
  • 我为什么要使用它?
  • 我什么时候应该使用它?
  • 有哪些常见的陷阱和误解
韵律

粗略地说,单元测试是与测试代码隔离地测试代码的各个部分。我想到的直接好处是:

  • 运行测试变得自动化且可重复
  • 与通过GUI进行点击测试相比,您可以进行更精细的测试

请注意,如果您的测试代码写入文件,打开数据库连接或通过网络执行某些操作,则将其更恰当地归类为集成测试。集成测试是一件好事,但不应与单元测试相混淆。单元测试代码应该简短,甜美并且可以快速执行。

查看单元测试的另一种方法是先编写测试。这就是所谓的测试驱动开发(TDD)。TDD具有其他优势:

  • 您无需编写推测性的“将来可能需要”代码,仅足以使测试通过
  • 您编写的代码始终包含在测试中
  • 通过首先编写测试,您不得不考虑如何调用代码,从长远来看,这通常可以改善代码的设计。

如果您现在不进行单元测试,建议您开始使用它。获得一本好书,几乎任何xUnit-book都可以做,因为这些概念之间可以很容易地转移。

有时编写单元测试会很痛苦。当这种方式得到解决时,请尝试寻找可以帮助您的人,并抵制“只写该死的代码”的诱惑。单元测试很像洗碗。它并不总是那么令人愉悦,但是可以使您的隐喻厨房保持清洁,您真的希望它保持清洁。:)


编辑:尽管我不确定这是否如此普遍,但我想到了一个误解。我听说一个项目经理说,单元测试使团队两次编写所有代码。如果看起来和感觉是那样,那么,您做错了。编写测试通常不仅可以加快开发速度,而且还为您提供了一个方便的“现在我已经完成”的指示符,而您本来可以没有这些。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章