首页> 中文学位 >AspectJ在Java单元测试中的应用研究
【6h】

AspectJ在Java单元测试中的应用研究

代理获取

目录

封面

中文摘要

英文摘要

目录

1绪 论

1.1研究背景及意义

1.2国内外研究现状分析

1.3论文的主要工作

1.4论文的组织安排

2面向方面编程(AOP)

2.1面向方面编程概述

2.2面向方面编程的实现

2.3 AspectJ

2.4面向方面的模型表示

2.5本章小结

3 JAVA单元测试

3.1 Java单元测试框架

3.2 JUnit单元测试框架

3.3单元测试中模拟对象的使用

3.4本章小结

4 AspectJ在单元测试中的应用研究

4.1运用AspectJ组织运行单元测试

4.2运用AspectJ解决单元测试依赖问题

4.3基于AspectJ的单元测试复用性研究

4.4本章小结

5 TestWAJ

5.1 TestWAJ简介

5.2 TestWAJ的组成

5.3运用TestWAJ进行基于状态和基于交互的测试

5.4运用TestWAJ进行参数化测试与接口测试方法复用

5.5运用TestWAJ灵活高效选择运行测试

5.6本章小结

6总结与展望

6.1总结

6.2研究展望

致谢

参考文献

附录

A.作者在攻读硕士学位期间发表的论文目录

展开▼

摘要

单元测试是集成测试与系统测试的基础,是测试驱动开发与软件重构的基石。随着测试驱动开发方法的流行,单元测试愈发重要。本文主要研究 Java程序的单元测试。通过对单元测试理论及工具的研究,发现当前的 Java单元测试还存在一些问题,这些问题主要包括:当前测试框架不能自动地选择测试用例,不能自动地添加运行测试用例。当需要频繁、有选择性地运行大量测试时,手动方式十分繁琐;测试中使用的模拟框架具有不能模拟 final类等局限性,并且实现模拟功能的代码与测试的代码混合在测试方法中,不仅影响测试方法的可读性,而且不利于模拟对象的复用;当前测试框架没有为测试方法的复用提供有效的支持;
  针对以上问题,将单元测试与面向方面编程结合,研究AspectJ(一种面向方面框架)在Java单元测试中的应用,取得成果主要包括:
  1)扫描整个项目自动添加测试用例到测试套件,框架自动运行套件中的测试用例。在添加过程中利用 AspectJ的横切功能横切添加用例的方法,使得只添加在切点中描述的测试用例,实现测试用例自动地选择、自动地添加运行。
  2)利用 AspectJ切点捕获被测方法对外部的依赖,在切面中改写依赖方法,隔离依赖,并设计了隔离依赖的切面模型。在切面中设置预期的方法调用,被测方法运行时用切点捕获实际的方法调用,在切面中验证两者是否一致,实现交互测试,并设计了实现交互测试的切面模型。
  3)设计了两种复用测试方法的模式:参数化测试与接口测试方法复用。利用AspectJ切点捕获测试方法中被测方法的调用,在切面中用多组测试数据循环调用被测方法,记录每组的运行结果。捕获测试方法中断言方法的调用,复用断言方法断言每组数据的运行结果,实现参数化测试。利用 AspectJ的静态横切功能,让各实现类的测试类复用切面中实现的接口中方法的测试方法,实现接口测试方法复用。
  为了方便设计的方法在实际单元测试中的使用,设计并实现了一个基于JUnit的单元测试框架TestWAJ(Test with AspectJ)。最后,运用TestWAJ进行单元测试,验证了本文提出的解决方法是可行的。本文实现测试用例的自动选择,自动添加运行,提高了 Java单元测试自动化水平。设计的两种复用测试方法的模式,增强了测试方法的复用性,减少了测试成本。用 AspectJ实现的模拟框架,比传统模拟框架功能更强,复用性、灵活性更高。

著录项

相似文献

  • 中文文献
  • 外文文献
  • 专利
代理获取

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号