浅谈MicroSoft Fakes测试框架

本文介绍如何在公司项目中使用Fakes测试框架进行单元测试,以提高性能并简化测试过程,避免与数据库、接口调用等资源的交互。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      刚刚开通博客,借此机会谈谈在本公司项目单元测试中用到的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

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

 

转载于:https://www.cnblogs.com/liufeng429/archive/2013/06/14/3136097.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值