书山有路勤为径,学海无涯苦作舟
创建组件所依赖的外部组件的模拟实现。创建一个方面,应用模拟组件实现来代替真实的组件。单元测试完成时,使用单独的AspectJ构建配置文件装换出测试文件,使得可以再次使用真实的实现。
以下为一种典型情况,MyComponent是要测试的组件,并且它具有与ThirdPartyComponentInterface的外部实现的依赖性。ThirdPartyComponentInterface的真实实现是通过调用工厂方法ThirdPartyFactory.getThirdPartyComponent()来获得的。
为了孤立地对MyComponent运行单元测试,将需要通过在测试中包括真实的外部组件,重写ThirdPartyComponent实现,从而不会混淆测试结果。一种策略是:手动应用重写真实组件实现的模拟组件。如:
以上方法如果用在组件较多的接口,可能难以管理。使用面向方面的替代方法,可以创建一个方面,用于截获ThirdPartyComponent的创建,并用模拟对象实现重写返回的对象。
可以通过创建两个不同的AspectJ构建配置文件,来区分真实实现和模拟实现。
posted on 2008-08-29 11:18 Brian 阅读(335) 评论(0) 编辑 收藏 所属分类: 《AspectJ Cookbook》读书笔记