什么是"单位"?

Ste*_*orn 14 language-agnostic unit-testing

在单元测试的背景下,什么是"单元"?

小智 13

我通常通过单个方法将其定义为单个代码执行路径.根据经验,测试方法所需的单元测试数量等于或大于方法的圈复合数y.


S.L*_*ott 8

虽然定义可以变化,但"单位"是一段独立的代码.

通常,它是一个单一的类.

但是,很少有类孤立存在.因此,您经常需要模拟与您正在测试的类协作的类.

因此,"单位"(也称为"装置")是一个可测试的东西 - 通常是一个类加上合作者的模型.

您可以使用单元测试技术轻松测试相关类的包.我们一直这样做.这些灯具中很少或没有嘲笑.

实际上,您可以将整个独立应用程序作为单个"单元"进行测试.我们这样做也是.提供一组固定的输入和输出,以确保整个应用程序正确地完成任务.

  • 我不同意(尽管我没有拒绝投票)。当您在单个测试中测试整个类或应用程序时,它是集成测试,而不是单元测试。理想情况下,单元测试应该与类的单个方法进行交互。 (2认同)

Mar*_*cin 6

单位是可以单独测试的任何元素.因此,一个人几乎总是在OO环境中测试方法,以及一些类行为,其中该类的方法之间存在紧密耦合.