gpt4 book ai didi

unit-testing - 什么是单元测试?

转载 作者:行者123 更新时间:2023-12-03 14:49:56 26 4
gpt4 key购买 nike

这个问题在这里已经有了答案:




12 年前关闭。




Possible Duplicates:
What is unit testing and how do you do it?
What is unit testing?



我承认对 95% 的人来说,这是一个非常 WTF 的问题。

所以。什么是单元测试?我知道您本质上是在尝试隔离原子功能,但是您如何对此进行测试?什么时候需要?什么时候可笑?
能给我举个例子吗? (最好是用 C 语言?我主要是从这个网站上的 Java 开发人员那里听说的,所以也许这特定于面向对象的语言?我真的不知道。)

我知道许多程序员虔诚地发誓要进行单元测试。这到底是怎么回事?

编辑:另外,您通常花在编写单元测试上的时间与花在编写新代码上的时间的比率是多少?

最佳答案

我现在是 Java,在 C++ 之前,在 C 之前。我完全相信,我所做的每一项工作,我现在都无愧于心,都被我选择的测试策略增强了。跳过测试很痛苦。

我确定您测试了您编写的代码。你使用什么技术?例如,您可能坐在调试器中并逐步执行代码并观察会发生什么。您可能会针对某人提供给您的一些测试数据执行代码。您可能会设计特定的输入,因为您知道您的代码对某些输入值有一些有趣的行为。假设你的东西使用了别人的东西而且还没有准备好,你模拟他们的代码,这样你的代码至少可以使用一些虚假的答案

在所有情况下,您都可能在某种程度上进行单元测试。最后一个是特别有趣的 - 你非常孤立地进行测试,测试你的单元,即使他们的单元还没有准备好。

我的看法:

1)。可以很容易地重新运行的测试非常有用 - 无休止地捕捉晚期蠕变缺陷。
相比之下,坐在调试器中的测试令人头脑 NumPy 。

2)。在编写代码时或在编写代码之前构建有趣的测试事件使您专注于边缘案例。那些烦人的零输入和空输入,那些“差一差错”的输入。我认为通过良好的单元测试会产生更好的代码。

3)。维护测试是有成本的。通常这是值得的,但不要低估让它们工作的努力。

4)。可能存在过分强调单元测试的倾向。真正有趣的错误往往不会在集成各个部分时出现。你用真实的东西替换了你 mock 的那个库,Lo!它并不完全符合它在 jar 头上所说的那样。此外,手动或探索性测试仍然可以发挥作用。有见地的人类测试员会发现特殊的缺陷。

关于unit-testing - 什么是单元测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1122202/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com