WF单元测试系列3:测试Activity的行为
2010-10-01 08:19:39 来源:WEB开发网在上面的代码中,下面一句比较重要
_mockEmployeeRepository = _mocker.CreateMock<IEmployeeRepository>();
这一句创建了针对接口IEmployeeRepository的Mock对象。注意:在我的工程里,名没有实现这个接口。这就是Mock的特点,可以不用实现功能就能测试。可谓针对接口测试吧!:)
在接下来的测试方法中,首先使用_mocker.Record()记录对Mock对象的操作。在_mocker.Record()的Unsing块中的所有操作,都是我们期待的Mock对象的“行为”。而_mocker.Playback()块则是对Activity的实际测试过程,在这个过程中,必须和Record块对_mockEmployeeRepository的操作一致------也就是说,也调用了它的Add()方法。如果一致,测试通过,否则Rhino Mock会抛出异常,测试失败!
我们运行一下测试,失败!因为还没有为StoreNewAcmeEmployee的Execute()方法添加逻辑。
回过头来实现StoreNewAcmeEmployee的Execute()方法:
Execute
protected override ActivityExecutionStatus Execute(ActivityExecutionContext
executionContext)
{
NewEmployee = new AcmeEmployee(Guid.NewGuid().ToString(), FirstName,
LastName, Email);
EmployeeDataStore.Add(NewEmployee);
return ActivityExecutionStatus.Closed;
}
最关键的一个操作就是调用了注入进来的EmployeeDataStore的Add()方法!
再次运行测试!通过!
上面讨论了如何对Activity进行“行为测试”,当然这还只是一个开始。
- ››单元格被选中就触发宏的运行的实现方法
- ››WF 4.0 beta1中的跟踪机制
- ››WF 4.0的建模风格:顺序和Flowchart
- ››WF4.0 Beta1之旅(5):规则引擎的变化
- ››WF 4.0 beta1活动概览(1):Procedural
- ››WF4.0 Beta1之旅(4):Bookmark的使用
- ››WF4.0 Beta1之旅:基本介绍
- ››WF4.0 Beta1之旅(2):异常处理
- ››WF4.0 Beta1之旅(3):全新的FlowChart
- ››WF 应用场景指南: SharePoint 与工作流(上)
- ››WF 应用场景指南: 展现流(Presentation Flow)
- ››WF单元测试系列1:测试基本的Activity
更多精彩
赞助商链接