单元测试目的是为了保证代码按照程序员的预期运行,往往关注的是比其他测试更低的层次,从而确定代码的底层功能是否与期望一致。
对于API框架而言,单元测试的一个重要优点在于测试在编译阶段就引入了依赖关系,从而使之更容易确定代码的更改是否会影响API表示的契约。
单元测试程序集与被测代码一般要分离开,这样可以保证在对应用程序代码进行部署时不包含单元测试,因为单元测试代码在产品环境中没有什么用。
代码的独立单元测试越容易,就越容易维护。
所有测试都应该是自主的和独立的,且应该对期望行为和错误情况都进行测试。
假设有以下内容需要被测:
1 namespace ExtendedMath 2 { 3 public static class Functions 4 { 5 public static int Fibonacci(int factor) 6 { 7 if (factor < 2) 8 { 9 return (factor); 10 } 11 int x = Fibonacci(--factor); 12 int y = Fibonacci(--factor); 13 return x + y; 14 } 15 } 16 }