zoukankan      html  css  js  c++  java
  • 关于什么时候使用NMock

    1.对于自己编写的接口还未完成时,不需要使用NMock。可以直接生成一个空的实现类,这样也便于在写了测试后跟进测试实现类的正确性。

    2.对于其他项目组给予的接口还未实现时,则可以使用NMock模拟,以便自己的代码中调用。等接口实现后,将原来模拟处的new修改为真实的类名。

    例子:(其他项目组给了一个IUserDal接口,用于读与数据库)

        public interface IUserDal
        {
            string getUsername(string email);
        }

    由于IUserDal接口的实现还未完工,所以这里可以先用NMock模拟一下


            public int getUsernameLength(string email)
            {
                #region 模拟接口预期
                MockFactory _factory = new MockFactory();
                var mock = _factory.CreateMock<IUserDal>();
                mock.Expects.One.MethodWith(a => a.getUsername("pwq@163.com")).WillReturn("xinux");
                #endregion

                IUserDal u = mock.MockObject; //正式版应该换成:IUserDal u = new 实现IUserDal的类();
                string username = u.getUsername(email);//获取到模拟的Username

                
    //根据username可以做自己的业务逻辑
                int length = username.Length;

                //返回自己逻辑的结果
                return length;
            }
    目前的这个例子比较简单,NMock作用体现得还不彻底,当需要模拟的接口比较复杂时,自己模拟值(不用NMock)就显得很麻烦,也不OO,NMock可以有效的帮助我们分离注意力,让我们把精力更有效的集中在自己的业务逻辑上。
  • 相关阅读:
    设备坐标与逻辑坐标
    4个设备上下文DC
    VC6.0智能提示消失恢复
    VC
    JavaWeb_设置Cookie的作用路径
    JavaWeb_Cookie显示最近浏览的商品
    JavaWeb_Cookie
    MVC案例——通过配置切换底层存储源
    MVC案例——修改用户
    MVC案例——删除操作
  • 原文地址:https://www.cnblogs.com/yeagen/p/2713272.html
Copyright © 2011-2022 走看看