接下来我们开始测试这个Activity。首先添加一个新Ativity:GetEmailAddress_Accessor,从GetEmailAddress继承。
在新Activity中添加一个方法:
internal ActivityExecutionStatus Execute_Accessor(ActivityExecutionContext executionContext) { return base.Execute(executionContext); } |
注意,我们并没有override 父类的Execute(),只是添加了一个新的方法,在里面调用了父类的Execute方法。而且
这个方法的访问级别为Internal,这样就能被我们的测试方法调用了。
下面写测试代码。这里我们新建一个VSTS的测试工程(当然你也可以使用其他的单元测试工具,如Nunit)。
添加一个测试方法:
[TestMethod] public void CreateAnEmailAddress() { GetEmailAddress_Accessor activity = new GetEmailAddress_Accessor(); activity.FirstName = Mother.FIRST_NAME; activity.LastName = Mother.LAST_NAME; activity.Execute_Accessor(null); Assert.AreEqual(activity.Email.ToLower(), Mother.EMAIL.ToLower()); } |
在上面的测试代码里,首先实例化被测试的Activity,然后设置两个参数,调用被测试的方法,最后测试生成的Email。
运行单元测试,通过!
在上面的文章里,我们只是通过包装(Wrap)了被测试的Activity,就达到了测试的目的。当然,这只是
最简单的测试,在以后的文章里,我将为大家介绍更复杂的WF测试方法。