• 浅谈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

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

  • 相关阅读:
    python PIL生成图片
    ubuntu ftp安装配置
    PIL 字体居中显示
    python selenium cookie 转换成 request能用的cookie
    selenium给正在运行的火狐浏览器换代理ip
    python selenium 下载滑块验证码
    java 简单工厂 工厂模式
    java 装饰者模式
    java 观察者模式
    全排列
  • 原文地址:https://www.cnblogs.com/liufeng429/p/3136097.html
Copyright © 2020-2023  润新知