您现在的位置是:主页 > news > 门户网站类型有哪些/媒体发稿费用

门户网站类型有哪些/媒体发稿费用

admin2025/5/5 19:24:23news

简介门户网站类型有哪些,媒体发稿费用,响应式网站 做搜索推广缺点,农博园网站建设投标书在上一篇文章里,我介绍了如何对一个简单的Activity进行单元测试。(参见上一篇)我们为Activity提供了两个参数LastName和FirstName,Activity会根据这两个参数生成一个Email地址。在上一篇中,我们输入了两个“合法”的参…

门户网站类型有哪些,媒体发稿费用,响应式网站 做搜索推广缺点,农博园网站建设投标书在上一篇文章里,我介绍了如何对一个简单的Activity进行单元测试。(参见上一篇)我们为Activity提供了两个参数LastName和FirstName,Activity会根据这两个参数生成一个Email地址。在上一篇中,我们输入了两个“合法”的参…

     在上一篇文章里,我介绍了如何对一个简单的Activity进行单元测试。(参见上一篇)我们为Activity提供了两个参数LastName和FirstName,Activity会根据这两个参数生成一个Email地址。在上一篇中,我们输入了两个“合法”的参数,测试被通过了。

     但我们写单元测试,如果只测试正确的输入的话,那单元测试也就没有意义了。所以我们这次测试一下,输入非法参数时,如何对Activity进行测试。
     继续使用上一篇中的工程。
     在上次创建的测试类中添加一个测试方法ThrowExceptionOnNullFirstName:

ContractedBlock.gifExpandedBlockStart.gifThrowExceptionOnNullFirstName
        [TestMethod]
        
public void ThrowExceptionOnNullFirstName()
ExpandedBlockStart.gifContractedBlock.gif        
{
            GetEmailAddress_Accessor activity 
= new GetEmailAddress_Accessor();
            activity.FirstName 
= null;
            activity.LastName 
= Mother.LAST_NAME;

            activity.Execute_Accessor(
null);
        }

 

     在这个测试方法里,我传递给Activity一个非法的参数FirstName为Null。运行测试,这时这个 测试方法会失败。因为GetEmailAddress的Execute()方法里的如下语句

EmailAddressCreator.GetInstance().CreateEmailAddress(FirstName, LastName);
    会抛出一个System.ArgumentNullException的异常。
    我们可以改写一下Execute()方法,检查一下参数,如果参数非法的话,抛出一个异常(这个异常可以是我们自定义的,这里我抛出同一个异常类型):

 

ContractedBlock.gifExpandedBlockStart.gifExecute
        protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
ExpandedBlockStart.gifContractedBlock.gif        
{
            
if (this.LastName == null || this.FirstName == null)
                
throw new ArgumentNullException();

            Email 
= EmailAddressCreator.GetInstance().CreateEmailAddress(FirstName, LastName);
            
return ActivityExecutionStatus.Closed;
        }


        再运行单元测试,依旧失败。
        对于这条“错误”路径,单元测试应该通过,而不是失败。所以对单元测试小做修改。
        在测试方法上加一个Attribute:[ExpectedException(typeof(ArgumentNullException))]
        通知单元测试,我们在这里期待一个异常的出现。
        再次运行单元测试,通过!
        附源码:NewEmployeeWF2.rar
        前一篇是对被测试Activity的“状态”进行测试,而这一篇是对Activity的“行为”进行简单的测试。后面我们会讲到如何利用Mock Framrwork进行更复杂的状态测试和行为测试。

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

转载于:https://www.cnblogs.com/zhaojunqi/archive/2009/03/09/1407193.html