AspectJ和模仿对象的测试灵活性 - 编程入门网
器端运行测试,就可以将下面的 aspect 添加到我的构建配置中: public aspect RunOnServer{ declare parents : ClientBeanTest extends ServletTestCase; } 通过加入这个 aspect,我声明 ClientBeanTest 将继承 ServletTestCase ,而不是 TestCase ,同时将其从常规的测试案例转换为一个 Cactus 测试案例。很简洁,对吧?
这种编译时的 aspect 插入在诸如 aspect 协助测试的情况下可能非常有好处。理想情况下,您不会希望有任何部署在生产条件中的测试代码的痕迹。有了编译时的不插入的方法,即便测试 aspect 被插入,或执行了复杂的行为修改,您还是可以很快地去掉测试部件。 结束语 为了保持较低的测试开发成本,必须单独运行单元测试。模仿对象测试通过提供被测试类依赖的代码的模仿实现隔离每个单元。但面向对象的方法无法在所属物从可全局访问的来源检索的情况下成功地替换合作代码。AspectJ 横切被测试代码结构的能力允许您“干净地”替换这类情况中的代码。 尽管 AspectJ 的确引入了一种新的编程模型(面向 aspect 的编程),本文中的方法还是很容易掌握。通过使用这些策略,您就可以编写能够成功地验证组件而不需管理系统数据的递增单元测试了。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |