WF单元测试系列2:简单测试Activity的行为
2009-03-09 17:33
260 查看
在上一篇文章里,我介绍了如何对一个简单的Activity进行单元测试。(参见上一篇)我们为Activity提供了两个参数LastName和FirstName,Activity会根据这两个参数生成一个Email地址。在上一篇中,我们输入了两个“合法”的参数,测试被通过了。
但我们写单元测试,如果只测试正确的输入的话,那单元测试也就没有意义了。所以我们这次测试一下,输入非法参数时,如何对Activity进行测试。
继续使用上一篇中的工程。
在上次创建的测试类中添加一个测试方法ThrowExceptionOnNullFirstName:
[TestMethod]
public void ThrowExceptionOnNullFirstName()
protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
{
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
但我们写单元测试,如果只测试正确的输入的话,那单元测试也就没有意义了。所以我们这次测试一下,输入非法参数时,如何对Activity进行测试。
继续使用上一篇中的工程。
在上次创建的测试类中添加一个测试方法ThrowExceptionOnNullFirstName:
[TestMethod]
public void ThrowExceptionOnNullFirstName()
protected override ActivityExecutionStatus Execute(ActivityExecutionContext executionContext)
{
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
相关文章推荐
- WF单元测试系列3:测试Activity的行为
- ISTQB AL-TA/TTA连载系列06:白盒测试技术的精炼总结(简单的一张图)
- maven系列学习之二:maven初体验-简单使用maven进行测试,编译、打包和运行
- Android官方开发文档Training系列课程中文版:Activity测试之创建运行测试
- WF单元测试系列1:测试基本的Activity
- 简单线程系列8-C#+SQL Server 2005测试。
- Android官方开发文档Training系列课程中文版:Activity测试之创建单元测试
- kafka系列(六)---kafka安装配置与简单测试
- Android官方开发文档Training系列课程中文版:Activity测试之测试环境配置
- sock5系列之简单测试sock5 连通性!(二)
- UML系列图——行为图(活动图Activity和状态图Statechart)
- Android官方开发文档Training系列课程中文版:Activity测试之UI组件测试
- WF单元测试系列4:测试Workflow
- Android官方开发文档Training系列课程中文版:分享简单数据之添加简单的分享行为
- POI 的简单版本 EasyPoi性能测试 系列一
- 【虫师--系列】JMeter基础之一 一个简单的性能测试
- Blockchain的鱼和熊掌系列(20) 之 pow 简单测试
- 【虫师--系列】一种简单的数据库性能测试方法
- Android官方开发文档Training系列课程中文版:Activity测试之创建功能性测试
- 一只大二狗的Android历程--Activity之间的简单数据传递