unit-testing - 单元测试比仅测试整个应用程序的整个输出有何优势?

标签 unit-testing testing

我不明白单元测试有何好处。 测试人员将整个输出作为一个整体进行测试而不是进行单元测试就足够了吗?

谢谢。

最佳答案

您所描述的是集成测试。集成测试不会告诉您的是,当您的输出不再正确时,您的大型应用程序的哪一部分无法正常工作。

单元测试的优势在于,您可以为需要程序执行的每个业务假设或算法步骤编写测试。当有人向您的应用程序添加或更改代码时,您会立即确切地知道引入错误时哪一步、哪一段甚至哪一行代码被破坏了。仅仅因为这个原因在维护上节省的时间就值得,但还有一个甚至更大的优势,那就是不会引入回归错误(假设您的测试在您构建软件时自动运行)。如果您修复了一个错误,然后专门编写测试以在将来捕获该错误,就不可能有人不小心再次引入它。

集成测试和单元测试的结合可以让您晚上睡得更安心,尤其是当您当天 checkin 了一大段代码时。

关于unit-testing - 单元测试比仅测试整个应用程序的整个输出有何优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/796113/

相关文章:

php - 测试在 PHPUnit 中不会调用任何方法(无论名称)?

unit-testing - Pester 不是模拟点源的函数

ruby-on-rails - 电子邮件验证错误在 obj.errors.full_messages 中出现两次(Rails 3.2、Devise、RSpec)

java - 对抽象类的扩展进行强制测试

java - 如何为此方法创建单元测试?

ruby-on-rails - Corey Haines 在 GoGaRuCo 2011 上使用了哪些测试工具和方法?

android - 当进行 retrofit2 请求时,单元测试 Call 对象为 null

c# - 如何单元测试 Core MVC Controller 操作是否调用 ControllerBase.Problem()

javascript - 在浏览器中测试网站

javascript - 如何计算 Protractor 中下拉选项的总数