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;
            }
        }
    }
  • 相关阅读:
    js 格式为2018-08-25 11:46:29 的日期比较方法
    ssh linux免密登录。。。。生产共钥到另一台主机
    linux shell脚本调用java main方法 代码传值
    linux shell脚本调用java main方法 代码
    java FTP各种操作
    java通过http服务执行shell命令
    linux ssh 应用
    java通过反射调用有参数的方法
    TranslucentTB汉化版安装教程及资源
    几行Python代码生成动态二维码 myqr的使用教程
  • 原文地址:https://www.cnblogs.com/chenyongblog/p/3819146.html
Copyright © 2011-2022 走看看