WEB开发网
开发学院软件开发C语言 WF单元测试系列3:测试Activity的行为 阅读

WF单元测试系列3:测试Activity的行为

 2010-10-01 08:19:39 来源:WEB开发网   
核心提示: 在这里,没有对Mock对象进行任何记录,WF单元测试系列3:测试Activity的行为(6),就是说不期待对Mock对象进行任何操作,但是期待一个异常:ArgumentNullException,因为传入和一个Null参数,通过! 对Activity的行为测试就到这里,下次为大家介绍对Work

在这里,没有对Mock对象进行任何记录。就是说不期待对Mock对象进行任何操作。但是期待一个异常:ArgumentNullException,因为传入和一个Null参数。

回到StoreNewAcmeEmployee中,改造Execute()方法为:

 

Execute
   protected override ActivityExecutionStatus
                Execute(ActivityExecutionContext executionContext)
        {
            EnsurePropertiesAreValid();
           
            NewEmployee = new AcmeEmployee(Guid.NewGuid().ToString(),
                              FirstName,
                              LastName,
                              Email);

            EmployeeDataStore.Add(NewEmployee);

            return ActivityExecutionStatus.Closed;
        }

        private void EnsurePropertiesAreValid()
        {
            if (Email == null)
                throw new ArgumentNullException("Email");

            if (FirstName == null)
                throw new ArgumentNullException("FirstName");

            if (LastName == null)
                throw new ArgumentNullException("LastName");

            if (EmployeeDataStore == null)
                throw new ArgumentNullException("Email");
        }

在调用EmployeeDataStore的Add()方法之前,检查参数是否合法,不合法就抛出异常,不调用EmployeeDataStore的Add()方法。

运行测试,通过!

对Activity的行为测试就到这里,下次为大家介绍对Workflow的测试。

注:以上示例来自WF3.5 Hands On Lab,英文好的朋友可以去这里看:https://www.microsoft.com/resources/virtuallabs/step3-msdn.aspx?LabId=c4a993a5-d498-4d5c-9f98-476c1f496d15&BToken=reg

系列文章:

WF单元测试系列1:测试基本的Activity

WF单元测试系列2:简单测试Activity的行为

上一页  1 2 3 4 5 6 

Tags:WF 单元

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接