自动化单元测试实践之路
作者:网络转载 发布时间:[ 2014/6/6 13:33:43 ] 推荐标签:自动化测试 单元测试
4 流程
图-4-1-典型工作流程
开发人员遵循每日构建原则,提交功能代码、测试代码(以UnitTest结尾的测试类)到Svn;
Jenkins平台,根据配置原则(假设配置定时器每6分钟检查Svn有代码更新则构建)进行:代码更新、代码编译、UnitTest、持续反馈的流水线工作;
构建结果发送到Sonar,并且把失败的构建以邮件方式通知影响代码的开发人员;
开发人员、测试人员需要在Sonar平台进行review;
5 实践
Jenkins配置重点
构建触发器:推荐使用PollSCM
Poll SCM:定时检查源码变更(根据SCM软件的版本号),如果有更新执行checkout。
Build periodically:周期进行项目构建(它不care源码是否发生变化)。
配置时间:H/6 * * * *
Build配置
Goals and options:emma:emma -Dtest=*UnitTest soanr:sonar
注明:
emma:emma,Add the "emma:emma" goal to your build to generate Emma reports;
-Dtest=*UnitTest,参数配置,运行以UnitTest结尾的测试类;
sonar:sonar,来触发静态代码分析。
需要安装Emma Plugin(https://wiki.jenkins-ci.org/display/JENKINS/Emma+Plugin)
构建后操作
增加Aggregate downstream test results,勾选自动整合所有的downstream测试;
增加Editable Email Notification,在“高级”选项增加触发器“Unstable”,
勾选“Send To Committers”,Check this checkbox to send the email to anyone who checked in code for the last build。
注明:Editable Email Notification插件是 https://wiki.jenkins-ci.org/display/JENKINS/Email-ext+plugin
另外一些Jenkins的单元测试覆盖率展现方式,可以查看官网。
构建管理工具(Maven)
项目统一使用Maven进行构建管理,在pom.xml中进行依赖jar包配置
持续集成服务器上同时需要安装Maven,setting.xml除了配置仓库之外,还需要配置sonar,包括sonar服务器地址、数据库连接方式:
<profile>
<id>sonar</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- EXAMPLE FOR MYSQL -->
<sonar.jdbc.url>
jdbc:mysql://127.0.0.1:3306/sonar?useUnicode=true&characterEncoding=utf8
</sonar.jdbc.url>
<sonar.jdbc.driverClassName>com.mysql.jdbc.Driver</sonar.jdbc.driverClassName>
<sonar.jdbc.username>sonar</sonar.jdbc.username>
<sonar.jdbc.password>sonar</sonar.jdbc.password>
<!-- SERVER ON A REMOTE HOST -->
<sonar.host.url>http:/127.0.0.1:9000</sonar.host.url>
</properties>
</profile>
|
Mockito配置重点
所有单元测试继承MockitoTestContext父类
相关推荐
更新发布
功能测试和接口测试的区别
2023/3/23 14:23:39如何写好测试用例文档
2023/3/22 16:17:39常用的选择回归测试的方式有哪些?
2022/6/14 16:14:27测试流程中需要重点把关几个过程?
2021/10/18 15:37:44性能测试的七种方法
2021/9/17 15:19:29全链路压测优化思路
2021/9/14 15:42:25性能测试流程浅谈
2021/5/28 17:25:47常见的APP性能测试指标
2021/5/8 17:01:11