Unit testing 什么是单元测试?

Unit testing 什么是单元测试?,unit-testing,tdd,Unit Testing,Tdd,我已经读了很多关于单元测试的书,并且相信我只通过上下文了解了什么是单元测试,但是我想确定我是对的。下面是我对单元测试的理解 请更正此声明: “单元测试是一种方法,它为被测试的方法提供已知参数,并将被测试方法的结果与预定的预期结果进行比较,当且仅当所有结果与预期结果匹配时返回成功,否则返回失败。”这是一个家庭作业问题吗?你在一段中给出了一个很好的简明定义 当然,你可以很容易地深入研究这个主题,写一页又一页关于单元测试的文章。这是一个家庭作业问题吗?你在一段中给出了一个很好的简明定义 当然,您可以轻

我已经读了很多关于单元测试的书,并且相信我只通过上下文了解了什么是单元测试,但是我想确定我是对的。下面是我对单元测试的理解

请更正此声明:


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

这是一个家庭作业问题吗?你在一段中给出了一个很好的简明定义


当然,你可以很容易地深入研究这个主题,写一页又一页关于单元测试的文章。

这是一个家庭作业问题吗?你在一段中给出了一个很好的简明定义

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

以下是:

单元测试的主要目标是获取应用程序中最小的可测试软件,将其与代码的其余部分隔离,并确定其行为是否完全符合预期

但实际上,你可能会发现这个定义经常被拉长,变得更加复杂

查看单元测试与其他测试规程的关系更有趣,例如集成测试、回归测试和手动测试(测试用例或测试场景驱动)。为了获得最佳结果,我认为结合使用多种测试方法是很重要的。

这是:

单元测试的主要目标是获取应用程序中最小的可测试软件,将其与代码的其余部分隔离,并确定其行为是否完全符合预期

但实际上,你可能会发现这个定义经常被拉长,变得更加复杂

查看单元测试与其他测试规程的关系更有趣,例如集成测试、回归测试和手动测试(测试用例或测试场景驱动)。为了获得最佳结果,我认为使用多种测试方法的组合是很重要的。

我将添加“这些是自动的任务集,旨在定期运行,提供对应用程序的全面覆盖。”“这些是一组自动的任务,旨在定期运行,全面覆盖应用程序。”

Wiki说:

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

如果你想得到真正的价值,请看一看……这里只是一个开始,维基说:

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


如果你想得到真实的值,请看一下……这只是一个开始。从概念上讲,单元测试很重要,因为一组理想的单元测试将提交多个可想象的综合参数集断言(包括通过和失败条件)在编译时转换为代码段,这将详细说明提交的源代码修改中的疏忽/缺点

这始终是一个好的实践,但在大规模应用程序中,这是强制性的,因为在一个小但广泛使用的源段中的编码错误可以有效地中断应用程序。它不仅会告诉您哪些例程运行不正常,而且会告诉您以何种方式运行

关于你的具体要求:


“单元测试是对特定方法的编译时测试调用断言。每个调用通常使用参数来模拟真实世界/通过-失败条件,并在给定测试没有得到预期结果时停止程序编译。理想情况下,在每次编译过程中,通过和失败的综合条件都会被断言到一个给定的方法中,然后修改代码段。”

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

这始终是一个好的实践,但在大规模应用程序中,这是强制性的,因为在一个小但广泛使用的源段中的编码错误可以有效地中断应用程序。它不仅会告诉您哪些例程运行不正常,而且会告诉您以何种方式运行

关于你的具体要求:


“单元测试是对特定方法的编译时测试调用断言。每个调用通常使用参数来模拟真实世界/通过-失败条件,并在给定测试没有得到预期结果时停止程序编译。理想情况下,在每次编译过程中,通过和失败的综合条件都会被断言到给定的方法中,然后修改代码段。“

别忘了这些都应该是自动化的。重复?我通常认为这是一个精确的副本,然后投票结束,但是既然你们已经提供了一个具体的声明来纠正我们,那么我认为这应该是开放的。我同意它们应该是自动化的,并在项目构建时运行,但有时您希望单独运行某些测试。手动运行一个测试不会改变它仍然是一个单元测试的事实。不要忘记这些测试都应该是自动化的。重复?我通常认为这是一个精确的副本,然后投票结束,但是既然你已经提供了一个具体的声明来纠正我们,那么我认为这应该保持开放。