zoukankan      html  css  js  c++  java
  • jenkins+jacoco配置代码覆盖率

    一、服务器端配置

    1、在代码部署服务器中安装jacoco,用于手工/接口测试覆盖率监听收集

    2a、正常情况下,可在服务器中代码部署模块下的default文件夹中,修改tomcat文件如下

    其中,includes后为代码包路径;port为jacoco的监听端口,用于监听slave发来的dump请求;address为该代码模块的IP;

    2b、像我们公司集成了部署工具,则需要直接在集成工具中添加jvm参数,否则在项目重新部署后tomcat文件会被覆盖

    二、jenkins机器配置

    1、在jenkins上创建jacoco的job,添加代码下载路径及slave机器地址;

    2、运行一次job,将代码下载至slave机器,在代码所在根目录配置build.xml
    3、在jenkins的job上添加

    三、坑

    1、项目的代码量大概在5G左右,jenkins下载时默认超时时间为10分钟,超时报错timeout,需在job中源码管理模块下重新设置超时时间

    2、由于我跑测试用例在测试环境,一开始拉代码时拉的是master分支(对应线上环境)导致覆盖率始终不匹配,后改为dev分支。
    3、不知公司的部署平台是怎么编译的,一开始在jenkins直接用mvn install编译结果不匹配,于是试着将服务器端已经编译的代码直接拷贝过来后得到覆盖率结果,因此放弃了jenkins的编译,采用直接拷贝服务器上编译的classes的方法:
    此时可在服务器上项目部署所在的webroot上层文件中执行python起一个http进程:

    nohup python -m SimpleHTTPServer 12306 &
    

    在slave机器上用wget方式获取classes:

  • 相关阅读:
    通过PowerShell发送TCP请求
    移动端h5全屏body背景图底部未到底bug
    前端开发工具——utils
    微信公众号网页开发——授权登录,js安全域名,jssdk使用
    移动端开发——移动端遮罩层滚动防穿透body解决方案
    js实现cookie有效期至当次日凌晨
    js获取数组中任意一项
    mysql连接错误,error1251解决方式
    Vue packages version mismatch
    js实现拖动效果
  • 原文地址:https://www.cnblogs.com/suntingme/p/6344709.html
Copyright © 2011-2022 走看看