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;
            }
        }
    }
  • 相关阅读:
    App如何选择移动广告平台,开发者2
    mouseover与mouseenter与mousemove差额mouseout与mouseleave差额
    JFinal 的源代码超具体的分析DB+ActiveRecord
    Vim经常使用技巧总结1
    2015第4周四网摘
    Java任务调度
    2015第4周二网摘
    2015第4周一
    2015第三周日
    转SpringSided代码规范遵循
  • 原文地址:https://www.cnblogs.com/chenyongblog/p/3819146.html
Copyright © 2011-2022 走看看