zoukankan      html  css  js  c++  java
  • UnitTest

    
    using Bll;
    using Model;
    using Dal;
    
    using NUnit.Framework;
    using NUnit.Mocks;
    using System.ServiceModel;
    using Constant;
    
    namespace OES.Nunit
    {
        /// <summary>
        /// This class is used for test use business logic layer.
        /// </summary>
        [TestFixture]
        public class UserNumit
        {
            private DynamicMock mock = null;
            private IUserDal userDal = null;
            private IUserBll userBll = null;
            private User user = null;
    
            [SetUp]
            public void Initialize()
            {
                user = new User();
                user.UserName = "a1";
                user.Password = "1";
                user.RoleType = "student";
            }
            [Test]
            public void LogOn()
            {
                mock = new DynamicMock(typeof(IUserDal));
                userDal = (IUserDal)mock.MockInstance;
                userBll = new UserBll();
                userBll = new UserBll(userDal);
                mock.ExpectAndReturn("RetrieveUserByUserName", user, user.UserName);
                User getUser = userBll.RetrieveUserByUserName(user.UserName);
                Assert.IsNotNull(getUser, "User is not null");
            }
    
            [Test]
            public void LogOnException()
            {
                mock = new DynamicMock(typeof(IUserDal));
                userDal = (IUserDal)mock.MockInstance;
                userBll = new UserBll();
                userBll = new UserBll(userDal);
    
                mock.ExpectAndThrow("RetrieveUserByUserName", new UserException(), user.UserName);
                Assert.Throws<FaultException<MyExceptionContainer>>(
                    () => this.userBll.RetrieveUserByUserName(user.UserName)
                    );
            }
            [Test]
            public void ChangePassword()
            {
                mock = new DynamicMock(typeof(IUserDal));
                userDal = (IUserDal)mock.MockInstance;
                userBll = new UserBll();
                userBll = new UserBll(userDal);
                string[] str = new string[] { "1", "123" };
                mock.ExpectAndReturn("UpdatePassword", 1, str);
                bool isChangePassword = userBll.UpdatePassword(str[0], str[1]);
                Assert.True(isChangePassword, "Changed password");
            }
    
            [Test]
            public void ChangePasswordException()
            {
                mock = new DynamicMock(typeof(IUserDal));
                userDal = (IUserDal)mock.MockInstance;
                userBll = new UserBll();
                userBll = new UserBll(userDal);
                string[] str = new string[] { "1", "123" };
    
                mock.ExpectAndThrow("UpdatePassword", new UserException(), str);
                Assert.Throws<FaultException<MyExceptionContainer>>(
                    () => this.userBll.UpdatePassword(str[0],str[1])
                    );
            }
    
            [TestFixtureTearDown]
            ~UserNumit()
            {
                userBll = null;
                user = null;
                userDal = null;
            }
        }
    }
  • 相关阅读:
    PLSQL设置数据库选项
    Oracle 11g客户端下载地址
    js将html转换为纯文本
    创建 dblink
    网页禁用表单的自动完成功能禁用密码自动填充autocomplete
    解决oracle11g的ORA-12505问题
    Linux的XServer
    Qt移植对USB鼠标键盘、触摸屏的支持
    Qt5.2.1交叉编译,带tslib插件
    ubuntu 12.04 桌面版关闭图形界面
  • 原文地址:https://www.cnblogs.com/chenyongblog/p/3819146.html
Copyright © 2011-2022 走看看