单元测试中的UNIT是什么?它应该是什么?

Roo*_*ian 3 automated-tests unit-testing

单元是一个类还是一个组件(多个类)?

什么应该是单元测试?一个单位的粒度应该多少?

Clo*_*ble 5

单元是应用程序中最小的可测试部分,通常是一个功能.

  • @Rookian:看一下"要隔离哪些依赖项?" 本文的一部分.http://java.dzone.com/articles/unit-testing-fundamentals (2认同)

Gis*_*shu 5

这个术语(类似于与敏捷相关的许多其他事物)都是过载的(对不同的人来说意味着不同的东西).它经历了很多变化,现在是主观的.有些人提出了一个新的术语微型测试,以防止混淆.

早些时候它意味着功能级白盒测试.根据经验,单位通常是由类暴露的行为(通常作为方法).在TDD从业者中,有两个阵营

  • 基于交互的测试将类与其依赖关系隔离开来(假设两者之间存在某种约束).依赖项通过其单元测试进行测试.单元测试指定在给定某些刺激的情况下单元如何对其他人表现出来
  • 基于状态的测试测试一个类及其真正的依赖性.

我目前的理解是,每单位测试是一个慎重的选择; 一种风格并不适合所有人.