可能的重复:
什么是单元测试,你是如何做到的?
什么是单元测试?
我认识到95%的人,这是一个非常WTF的问题.
所以.什么是单元测试?我明白,基本上你是在尝试隔离原子功能,但是你如何测试呢?什么时候需要?什么时候荒谬?你能给我举个例子吗?(最好是在C?我主要是从这个网站上的Java开发者那里听到它,所以这可能是针对面向对象语言的?我真的不知道.)
我知道很多程序员都在虔诚地进行单元测试.它有什么关系?
编辑:此外,您通常花在编写单元测试上的时间与编写新代码所花费的时间之间的比例是多少?
我现在是Java,在C++之前,在C之前.我完全相信我所做的每一项工作,我现在都不感到羞耻,因为我选择的测试策略得到了加强.吝啬测试伤害.
我确定你测试了你编写的代码.你用什么技术?例如,您可能会坐在调试器中并逐步执行代码并观察发生的情况.您可以针对某人给您的某些测试数据执行代码.您可能会设计特定的输入,因为您知道您的代码对某些输入值有一些有趣的行为.假设你的东西使用别人的东西而且还没准备好,你模拟他们的代码,这样你的代码至少可以使用一些假的答案
在所有情况下,您可能在某种程度上进行单元测试.最后一个特别有意思 - 即使他们尚未做好准备,你也要进行单独测试,测试你的UNIT.
我的看法:
1).可以轻松重新运行的测试非常有用 - 捕捉到晚期爬行缺陷的结束.相比之下,坐在调试器中的测试令人头脑麻木.
2).在编写代码时构建有趣测试的活动,或者在编写代码之前,您可以专注于边缘情况.那些烦人的零和空输入,那些"一个错误".由于良好的单元测试,我认为更好的代码会出现.
3).维护测试需要付出代价.一般来说它是值得的,但不要低估让它们保持工作的效果.
4).可能存在过度单元测试的趋势.当整合件时,真正有趣的错误往往会蔓延.你用真实的东西替换你嘲笑的那个库和Lo!它并没有完全按照它在锡上说的那样做.此外,还有手动或探索性测试的作用.富有洞察力的人类测试人员发现了特殊缺