什么是单元测试?

时间:2009-05-08 13:06:41

标签: unit-testing tdd

我已经阅读了数十个和几十个关于单元测试的内容,并且相信我已经通过上下文了解了单元测试的内容,但我想确定我是对的。以下是我对单元测试的理解。

请更正此声明:

“单元测试是一种方法,它为被测试的方法提供已知参数,并将测试方法的结果与预定的预期结果进行比较,并且当且仅当所有结果与预期结果匹配时才返回成功,否则返回成功返回失败。“

5 个答案:

答案 0 :(得分:4)

这是MSDN answer

“单元测试的主要目标是在应用程序中使用最小的可测试软件,将其与代码的其余部分隔离开来,并确定它是否完全符合您的预期。”

实际上你可能会发现这个定义经常被拉伸并且变得更加复杂。

查看与其他测试学科相关的单元测试更有趣,例如集成测试,回归测试和手动测试(测试用例或测试场景驱动)。为了获得最佳结果,我认为使用测试方法的组合非常重要。

答案 1 :(得分:1)

维基说:

  

...在计算机编程中,单元测试是一种软件验证和验证方法,程序员可以确信各个源代码单元适合使用。 ......

如果你想获得真正的价值,请看http://ayende.com/102/section.aspx/redirect/1 ......这里只是开始

答案 2 :(得分:1)

从概念上讲,单元测试非常重要,因为理想的单元测试集将在编译时将多个可设想的综合参数集断言(包括通过和失败条件)提交到代码段中,这将详细说明其中的疏忽/缺陷。提交了源代码修改。

这总是很好的做法,但对于大规模应用程序来说这是必须的,在这些应用程序中,小而广泛使用的源代码段中的编码错误可以有效地破坏应用程序。它不仅会告诉你什么例程不正常,而且以什么方式。

至于您的具体要求:

“单元测试是对特定方法的编译时测试调用断言。每个调用通常利用参数来模拟真实世界/通过失败条件,并在预期结果不符合给定时停止程序编译在理想情况下,通过和失败的综合条件在每次编译期间被声明为给定的方法,之后代码段被修改。“

答案 3 :(得分:0)

这是一个功课问题吗?你在一个段落中给出了一个很简洁的定义。

当然,您可以轻松深入研究该主题,并编写有关单元测试的页面和页面。

答案 4 :(得分:-1)

我想补充一下“这些是自动设置的任务,旨在定期运行,提供对应用程序的全面覆盖。”