gpt4 book ai didi

unit-testing - 单元测试时 "unit"应该是什么?

转载 作者:行者123 更新时间:2023-12-03 10:57:40 27 4
gpt4 key购买 nike

今天在 Proggit 上,我正在阅读题为“Why Unit Testing Is A Waste of Time”的提交的评论线程。

我并不真正关心文章的前提,而是关心 comment对此作出:

The stem of the problem is that most “units” of code in business software projects are trivial.

Change the size of the unit until it is no longer trivial? Who the hell defined the unit of code as a single function or method anyway!?





Well, some of the guys I worked with wanted to define a unit as single functions. It was completely stupid. My favorite definition of "unit" is: the smallest piece of the code that can be usefully tested.



我们是否花了太多时间只是为了模拟一些对象并测试一段微不足道的代码而没有真正增加任何值(value)?

单元测试时“单元”应该是什么?功能级别测试是否过于细化?

最佳答案

引用 Wikipedia 似乎微不足道,但我认为在这种情况下它非常简洁和准确:

A unit is the smallest testable part of an application.



这似乎与您问题中的评论一致,即单元是“可以进行有用测试的最小代码段”。换句话说,使单元尽可能小,这样它本身对开发人员/测试人员仍然有意义。

通常,您希望单独测试项目的各个部分,然后测试它们如何组合交互。拥有不同层次(级别)的单元测试通常是明智之举,因为它有助于确保您的代码在所有级别(从单个功能到整个独立任务)都能正常工作。我个人不认为测试单个功能是错误的,甚至是无益的,只要它们本身在做一些有用的事情,通常情况就是如此。

老实说,“单元测试”中对“单元”没有明确或严格的定义,这正是使用模糊术语“单元”的原因!了解需要测试的内容和级别是经验问题,而且通常只是反复试验。这听起来可能有点不令人满意,但我相信这是一个合理的规则。

关于unit-testing - 单元测试时 "unit"应该是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1066572/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com