zoukankan      html  css  js  c++  java
  • 浅谈MicroSoft Fakes测试框架

          刚刚开通博客,借此机会谈谈在本公司项目单元测试中用到的Fakes测试框架,和其他测试框架不同,Fakes大大提高了单元测试的性能,我们不需要关心数据库的数据变化,接口调用导致的变化,文件、及其它资源的访问等问题。使用伪造处理方法可以只关心我们需要测试的那部分逻辑。

          Fakes使用起来也比较方便,在Visual Studio 2012中已经内置了该框架,可以提供成员模拟的方法,以方便进行单元测试。

      下面就具体说说该如何使用,写了一个简单的例子,(本打算直接把公司项目中代码展示出来,但Boss说那是不允许的,哈哈,所以大家见谅!有问题可以单独联系我)

      假设我们在项目中GreatWall有以下几个类

    //接口
    public interface IT
    {
        int AddText(int a, int b);
    }
    
    public class T,IT
    {
       public int AddText(int a, int b)
            {
                return a + b;
            }
    }
    
     public class MyClass
        {
            public static int GetAddText(IFwProductRepository obj)
            {
                int a=2;
                int b=5;
                return obj.AddText(a,b);
            }
        }
    View Code

     我们要使用Fakes进行测试只需要在测试项目中引用 GreatWall,并且在之上右键->建立 Fakes程序集即可使用Fakes,在测试方法中使用就可以了,

    [TestClass]
        public class UnitTest1
        {
            [TestMethod]
            public void TestMethod1()
            {
                IT t = new StubITy()
                {
                    AddTextInt32Int32=(x,y)=>
                    {
                        return x+y;
                    }
                };
                Assert.AreEqual(7, MyClass.GetAddText(t));
            }
        }
    View Code

    就这么简单,根本不需要与数据库打交道。

  • 相关阅读:
    求质数与因式分解
    利用工具解题
    我的学生信息管理系统总结
    JSP简单练习-页面重定向
    CSS学习(三)—相对定位与绝对定位
    java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
    AVL平衡树的插入例程
    SAE搭建WordPress教程 免费建WordPress博客站
    MPMoviePlayerViewController和MPMoviePlayerController的使用
    Android日志输出工具类
  • 原文地址:https://www.cnblogs.com/liufeng429/p/3136097.html
Copyright © 2011-2022 走看看