问题描述
项目中需要进行单元测试,沟通后确认的需求:
- 测试执行加入Maven生命周期(Maven打包时执行测试用例)
- 输入输出测试
- 路径覆盖,并统计覆盖率
解决方案
- 开发工具是IDEA,使用Maven插件,可调节,打包时是否执行测试
- 测试框架经比较后选择TestNG(原因:项目自动化测试框架以TestNG开发,TestNG更加灵活,功能完善)
- Mock工具使用JMockit,参考资料对比,该工具可mock的内容十分丰富,属于力荐工具,覆盖率统计使用cobertura(老大推荐,臣不得不从。当然了这个框架是有优势的,有branchRate和lineRate,详情点击此链接)
完成步骤
打包时对单元测试的处理
IDEA+Maven+TestNG+cobertura
目标:可运行TestNG单元测试,并生成测试报告
TestNG+Maven+IDEA环境搭建
搭建TestNG+Maven+IDEA接口测试环境
安装插件:Creat TestNG.xml
集成cobertura
IDEA集成JMockit
错误解决
- Command line is too long. Shorten command line for TestClassDemo.testcase1 or also for TestNG default configuration.
- Error opening zip file or JAR manifest missing
错误原因,maven仓库文件夹无修改权限 - Could not create local repository
参考文档
软件测试-白盒测试(六种覆盖准则)
软件测试系列–白盒测试覆盖率的问题
Mock测试概念介绍
软件白盒测试之Mockito+JMockit+TestNG单元测试实践总结
Mock测试工具比较
白盒测试的学习之路----(四)搭建测试框架TestNG测试
JMockit教程