利用单元测试框架进行单元测试

发表于:2015-4-24 10:51

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Ribbon    来源:51Testing软件测试网采编

  单元测试目的是为了保证代码按照程序员的预期运行,往往关注的是比其他测试更低的层次,从而确定代码的底层功能是否与期望一致。
  对于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 }
  接下来创建单元测试验证Fibonacci实现,只有包含在独立的test project项目中之后,单元测试才会被称为测试。
  创建一个单元测试项目,添加上述代码的命名空间引用,且在测试类最上方添加引用:
  1 using ExtendedMath;
  2 using Microsoft.VisualStudio.TestTools.UnitTesting;
  为了使Visual Studio识别包含单元测试的类,必须给TestClass特性赋值,如果忘记添加TestClass特性,那么将找不到类中的单元测试方法。单元测试需要存放在公有的类中,因此一定要将类标记为public,单元测试方法必须是公有的和非静态的,而且没有参数和返回值,为了区别单元测试方法与普通方法,需要使用TestMethod特性。此时我们看到代码如下:
  1 namespace ExtendedMath
  2 {
  3     [TestClass]
  4     public class FunctionsTest
  5     {
  6         [TestMethod]
  7         public void FibonacciTest()
  8         {
  9         }
  10     }
  11 }
31/3123>
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号