【问题标题】:What is unit testing? [duplicate]什么是单元测试? [复制]
【发布时间】:2009-05-08 13:06:40
【问题描述】:

我已经阅读了几十篇关于单元测试的文章,并且相信我只是通过上下文了解到单元测试是什么,但我想确定我是对的。以下是我对单元测试的理解。

请更正此陈述:

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

【问题讨论】:

  • 别忘了这些都应该是自动化的。
  • 我通常会认为这是一个完全重复并​​投票关闭,但既然你已经提供了一个具体的声明供我们更正/验证,那么我认为这应该保持开放。
  • @Ionut:我认为自动化不属于单元测试的定义。我同意它们应该在您的项目构建时自动化并运行,但有时您希望单独运行某些测试。手动运行一个测试并不会改变它仍然是一个单元测试的事实。

标签: unit-testing tdd


【解决方案1】:

这是MSDN answer

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

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

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

【讨论】:

    【解决方案2】:

    维基说:

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

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

    【讨论】:

      【解决方案3】:

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

      这始终是一种很好的做法,但对于大规模应用程序来说,这是强制性的,因为在小型但广泛使用的源代码段中的编码错误会有效地破坏应用程序。它不仅会告诉您哪些程序不正常,还会告诉您以何种方式运行。

      .

      至于您的具体要求:

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

      【讨论】:

        【解决方案4】:

        这是一道作业题吗?你在一段中给出了一个很好的简洁定义。

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

        【讨论】:

        • 不,这不是家庭作业。几年前,我毕业于一个无关领域的学士学位。我是一个业余程序员,不是专业程序员。
        【解决方案5】:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2010-10-13
          • 2019-07-23
          • 1970-01-01
          • 2011-07-18
          • 1970-01-01
          • 1970-01-01
          • 2010-11-07
          相关资源
          最近更新 更多