1.1单元测试的定义
单元测试就是针对一个工作单元设计的测试,这里的“工作单元”是指对一个工作方法的要求。
单元测试是开发者编写的一小段代码,用于检测被测代码的一个很小的、很明确的功能是否正确。通常而言,一个单元测试用于判断某个特定条件(或场景)下某个特定函数的行为。
例:
你可能把一个很大的值放入一个有序list中去,然后确认该值出现在list的尾部。或者,你可能会从字符串中删除匹配某种模式的字符,然后确认字符串确实不再包含这些字符了。执行单元测试,就是为了证明某段代码的行为和开发者所期望的一致!
//被测方法
public double Add(double a, double b)
{
return a + b;
}
//测试方法
[Test]
public void AddTest()
{
double result = new Calculator().Add(14, 15);
Assert.AreEqual(30,result);
}
1.2工作单元
调用系统的一个公共方法到产生一个测试可见的最终结果,其间这个系统发生的行为总称为一个工作单元。我们通过系统的公共AP和行为就可以观察到一个可见的最终结果,无需查看系统的内部状态。一个最终结果可以是以下任何一种形式。
- 被调用的公共方法回一个值(一个返回值不为空的函数)
- 在方法调用的前后,系统的状态或行为有可见的变化,这种变化无需查询私有状态