基于jenkins的自动化单元测试实践

如何搭建 Jenkins 自动化测试平台? 在进行平台搭建前,我们首先要问自己:我需要搭建的平台的功能是什么,要实现什么目标? 在我的理解中,自动化构建平台的执行流程(目标)是: 我们将代码提交到代码托管工具上,如github、gitlab、gitee等。 Jenkins要能够检测到我们的提交。 Jenkins检测到提交后,要自动拉取代码,运行测试,并进行构建、打包。 Jenkins执行完测试和构建后,要向相关人员发送构建结果。 Jenkins要能够向我们展示测试运行的分析。 其实还可以加上自动化部署——把成功的构建添加到web 容器。 阅读详情

一、 单元测试并生成报告
1、maven插件

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-report-plugin</artifactId>
            <version>2.4.2</version>
        </plugin>
    </plugins>
</reporting>

2、jenkins配置

构建脚本: mvn clean surefire-report:report
配置报告:

这里写图片描述
配置报告的另一种方式是讲生成的html报告 集成到jenkins中;这需要jenkins的Publish HTML reports 插件,安装插件后 在 job中配置如下:
这里写图片描述
定时检查代码,是否有新的提交,执行jenkins job:这里写图片描述

二、 Findbugs
1、maven 插件

<reporting>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>3.0.1</version>
            <configuration>
                <xmlOutput>true</xmlOutput>
                <!-- Optional directoryto put findbugs xdoc xml report -->
                <!--<xmlOutputDirectory>target/site</xmlOutputDirectory>-->
                <findbugsXmlOutput>true</findbugsXmlOutput>
                <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-report-plugin</artifactId>
            <version>2.4.2</version>
        </plugin>
    </plugins>
</reporting>

2、jenkins配置

安装 jenkins的 Findbugs插件
构建脚本:mvn clean surefire-report:report findbugs:findbugs
配置报告:

这里写图片描述

三、 PMD 静态代码检查

1、maven 插件

<reporting>
    <plugins>
        <plugin>
            <groupId>org.codehaus.mojo</groupId>
            <artifactId>findbugs-maven-plugin</artifactId>
            <version>3.0.1</version>
            <configuration>
                <xmlOutput>true</xmlOutput>
                <!-- Optional directoryto put findbugs xdoc xml report -->
                <!--<xmlOutputDirectory>target/site</xmlOutputDirectory>-->
                <findbugsXmlOutput>true</findbugsXmlOutput>
                <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pmd-plugin</artifactId>
            <version>3.0.1</version>
        </plugin>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-surefire-report-plugin</artifactId>
            <version>2.4.2</version>
        </plugin>
    </plugins>
</reporting>

2、jenkins 配置

构建脚本:mvn clean surefire-report:report findbugs:findbugs pmd:pmd
报告配置:

这里写图片描述

基于Jenkins的Glide单元测试质量门禁实践指南 在软件工程实践中,持续集成(CI)与自动化测试是保障代码质量的核心环节。其原理在于通过自动化流程,在代码提交后立即运行测试套件,快速反馈构建状态。这项技术的核心价值在于建立快速反馈的质量防线,防止缺陷进入主干,从而提升软件交付的可靠性与开发效率。在Android开发领域,Glide作为广泛使用的图片加载库,其稳定性和性能至关重要。本文将探讨如何利用Jenkins Pipeline、JUnit和JaCoCo等工具,为Glide这类复杂项目构建一个集拦截、度量和反馈于一体的自动化质量门禁系统,涵盖从环境配置、P 阅读详情

相关推荐

测试开发自动化测试工具

功能测试工具:例如 Selenium、Appium、UFT 等,用于验证软件功能是否符合预期。性能测试工具:例如 JMeter、LoadRunner,用于评估软件在不同负载下的表现。安全测试工具:例如 OWASP ZAP、Burp Suite,用于发现软件中的安全漏洞。单元测试工具:例如 JUnit、NUnit、pytest,用于验证单个模块或组件的正确性。持续集成工具:例如 Jenkins、Travis CI,用于自动化构建、测试和部署流程。

学习一点点,自由一点点 4019

jenkins 集成单元测试

jenkins pipline集成java单元测试

qq_31564573的博客 5380

Jenkins自动化构建系统中的单元测试实施经验

在构建软件项目的过程中,单元测试是非常重要的一环。在任务配置页面的"源码管理"部分,选择你的代码仓库类型(例如Git或Subversion),并提供相应的仓库URL和认证信息。在任务配置页面的"构建"部分,点击"Add build step",选择合适的构建步骤。对于单元测试,我们可以使用"Execute shell"构建步骤,并在其中编写执行单元测试的脚本。通过Jenkins的Web界面,你可以查看构建历史记录、单元测试报告和其他构建相关的信息。在任务配置页面的"构建触发器"部分,选择适当的构建触发器。

BgScratch的博客 571

Jenkins持续集成自动化测试

!我个人整理了我这几年软件测试生涯整理的一些技术资料,包含:电子书,简历模块,各种工作模板,面试宝典,自学项目等。欢迎大家点击下方名片免费领取,千万不要错过哦。

MXB_1220的博客 4178

Jenkins 单元测试实战

最后看项目的重要程度,如果这个项目在整个架构中起着非常重要的作用,那么覆盖率要求会高一些。**/targetlsurefire-reports/*.xml表示只要是target/surefire-reports目录下的XML文件就会被当作JUnit测试报告处理,而不论target在哪个层级的目录下。在我们的例子中,我们进入了一个负面的测试情况下,这样的结果只会失败,作为一个例子。JaCoCo是一个免费的Java代码覆盖率的库,能帮助我们检测出代码覆盖率,并输出覆盖率报告。可以到控制台输出中看到更多的信息。

悦分享 686

23、自动化运维:Ansible Tower、AWX与Jenkins的实践与测试

本文详细介绍了Ansible Tower和其开源版本AWX的安装、配置与使用,并对比了Jenkins等其他自动化运维工具。文章涵盖如何使用Ansible进行CI/CD流程构建、基础设施测试策略,以及单元测试、集成测试和功能测试的实施方法。此外,还讨论了最佳实践和未来自动化运维的发展趋势,帮助团队提升运维效率和系统可靠性。

websocket5live的博客 191

Spring Boot项目集成JaCoCo实现单元测试覆盖率统计与Jenkins自动化实践

单元测试覆盖率是衡量软件测试有效性的核心指标,它通过统计测试用例执行时代码的覆盖程度,客观反映测试的完备性。其原理主要基于代码插桩技术,在程序运行时动态注入探针来收集执行轨迹数据。这一技术价值在于将主观的测试评估转化为可量化的质量门禁,帮助团队识别测试盲区、提升代码健壮性。在Java生态中,JaCoCo作为主流的运行时字节码插桩工具,因其无构建侵入、报告直观、与Maven和Jenkins等DevOps工具链集成顺畅而广受青睐。通过jacoco-maven-plugin,开发者可以便捷地在Spring Boo

cojm55771的博客 435

tessy-xunit-plugin

Jenkins插件可将Tessy详细信息报告转换为xUnit格式,以便可以将它们与Jenkins的JUnit功能集成在一起。 这个怎么运作 它已被开发为扩展。 使用它 选择构建步骤“处理xUnit测试结果报告”或“发布xUnit测试结果报告”。 无论哪种情况,请单击“添加”按钮 从下拉列表中选择“ Tessy-3.2”。 在“ Tessy-3.2模式”文本框中,介绍由Tessy生成的Tessy详细信息报告文件的位置,例如**/TESSY_DetailsReport_*.xml 。 世界之间的映射 Tessy中的测试用例可以组织在测试对象树中,并细分为测试步骤。 但是,JUnit报告(xUnit)只能分为两个级别(包含在其中的测试套件和测试用例)。 该插件将Tessy测试步骤映射到jUnit测试用例,并将更多层次结构信息映射到测试套件名称。 更具体地说,它可以: xUnit测试套件

2024最新 Jenkins + Docker实战教程(九)- Jenkins实现嵌入式系统的自动化流程

在嵌入式开发中,自动化构建、测试和部署流程可以大大提高开发效率和产品质量。Jenkins作为强大的CI/CD工具,可以帮助嵌入式开发团队实现这一目标。本文将详细介绍如何通过Jenkins实现嵌入式系统的自动化流程,包括代码构建、单元测试、集成测试、固件打包以及部署。通过Jenkins实现嵌入式开发的自动化流程,可以显著提升开发效率、提高产品质量。本文详细介绍了从环境配置、交叉编译、自动化测试到硬件部署的完整流程。遵循这些步骤和最佳实践,您可以构建一个稳定、可扩展的嵌入式自动化流水线,为项目的成功奠定基础。

Micro麦可乐的博客 1万+

AD9361 Fast Lock实战:Python脚本自动生成Profile寄存器配置(附完整代码)

本文详细介绍了利用Python脚本实现AD9361 Fast Lock Profile寄存器自动化配置的实战方案。通过解析频率合成公式、VCO约束及查表机制,脚本能根据目标频率一键生成完整的16进制寄存器序列,大幅提升射频系统开发中多频点切换的效率和准确性,并支持CSV、JSON、C头文件等多种输出格式,便于与FPGA/嵌入式系统集成。

weixin_29194693的博客 475

实例讲解MOS管电源开关电路的软启动

1、控制电源开关的输入信号 Control 为低电平或高阻时,三极管Q2的基极被拉低到地,为低电平,Q2不导通,进而MOS管Q1的Vgs = 0,MOS管Q1不导通,+5V_OUT 无输出。此时将 Control 设为低电平,三极管Q2关闭,电容C1与G极相连端通过电阻R2放电,电压逐渐上升到5V,起到软关闭的效果。不过从作者的描述来看,只是电路参数有区别,能通过的电流、能承受的耐压等不一样,但是软启动的原理是一样的。从公式可以看出,当电容容量越大,电压越高,时间越短,电流就会越大,从而形成浪涌电流。

U_YAO的博客 2万+

python源代码语法检查工具_Python项目在Jenkins中的自动化测试实践(语法检查、单元测试,coverage(代码覆盖率)、自动打包)...

requirmentsOS: Ubuntu 14.04+Gitlab 8.1 +Jenkins 2.19.0 +使用Jenkins对Python项目进行自动化测试主要依赖nose(单元测试)、coverage(代码覆盖率、pylint(语法检查))等工具,配合插件在Jenkins的Web界面展示测试结果。流程如下:1.代码改动push到Gitlab自动触发Jenkins构建项目,执行自动化测试。2...

weixin_35098081的博客 359

陆地观测卫星数据服务平台深度体验:高分、中巴、资源系列影像的检索与下载技巧

本文深度解析国产陆地观测卫星数据服务平台的使用技巧,重点介绍高分、中巴、资源系列卫星影像的检索与下载方法。通过权限体系解析、高级检索策略、数据预处理等实战技巧,帮助用户高效获取高质量遥感数据,适用于环境监测、资源调查等多种应用场景。

eee77的博客 981

个推基于Jenkins的自动打包构建实践

作者|个推高级安卓研发工程师 萨其拉 引言 在个推SDK 开发过程中,通常而言一个完整的开发上线流程是这样的:提出需求-> 需求开发 -> 打包测试 -> 问题修复 -> 打包交付测试验证 -> 测试通过 -> 产品上线。 在这个流程中,不难发现打包是一项重复性劳动,而且我们常常会重复经历问题修复阶段,也就意味着我们在一个开发上线周期内需要进行多个重复性的打包过程。如果能优化这个环节,那么开发效率就能得到显著提升。 除此之外,手动打包往往还容易引入一些风险,比如说打包环.

个推技术学院 539

SRC漏洞挖掘实战:从攻击面管理到业务逻辑漏洞的精准狩猎

在网络安全领域,漏洞挖掘是识别和利用软件系统中安全弱点的核心实践。其基本原理在于通过系统化的方法,识别和评估一个应用或系统的攻击面,并从中定位安全防护的薄弱环节。这项技术的价值在于能够主动发现潜在风险,防患于未然,对于保障企业数字资产安全至关重要。典型的应用场景包括对Web应用、移动端API以及各类在线业务系统的安全性评估。在实际的漏洞挖掘,尤其是针对安全应急响应中心(SRC)的实战中,高效的策略往往聚焦于**边缘资产**的发现与利用,以及对**业务逻辑漏洞**的模式化测试。掌握这些经过验证的思路,能帮助安

babing2770的博客 415

学Simulink——基于Simulink的输入-输出线性化精确转矩控制

本文详细介绍了基于Simulink的永磁同步电机(PMSM)输入-输出线性化(IOL)精确转矩控制方法。针对传统解耦控制在非线性转矩特性下的局限性,提出通过精确反馈线性化实现转矩指令与实际转矩的严格线性关系。文章系统阐述了IOL原理、PMSM控制器推导过程,并提供了完整的Simulink建模步骤,包括电机模型搭建、IOL控制器实现和闭环系统构建。通过仿真对比验证了IOL方法在转矩跟踪精度、动态响应和参数鲁棒性方面的显著优势,最后讨论了工程实现要点和扩展应用方向。该方法为高性能伺服系统开发提供了有效解决方案。

amy_mhd的博客 61

python页面自动化测试代码覆盖率_Python项目在Jenkins中的自动化测试实践(语法检查、单元测试,coverage(代码覆盖率)、自动打包)...

requirmentsOS: Ubuntu 14.04+Gitlab 8.1 +Jenkins 2.19.0 +使用Jenkins对Python项目进行自动化测试主要依赖nose(单元测试)、coverage(代码覆盖率、pylint(语法检查))等工具,配合插件在Jenkins的Web界面展示测试结果。流程如下:1.代码改动push到Gitlab自动触发Jenkins构建项目,执行自动化测试。2...

weixin_34254464的博客 488

LoveSQL

LoveSQL(SQL注入详解) 1、根据题目,显然想到的是sql注入漏洞,直接尝试万能密码 2、此时url构造,查看字段数 /check.php?username=admin' order by 3%23&password=1 # 存在 /check.php?username=admin' order by 4%23&password=1 # 报错 因此,得到总共有三个字段数 注意:url中不能用#,应该用url编码%23 3、用union来查询测试注入点,查看回显点

lunan的博客 1562

Python项目在Jenkins中的自动化测试实践(语法检查、单元测试,coverage(代码覆盖率)、自动打包)...

原始链接:http://blog.youkuaiyun.com/a464057216/article/details/52934077 requirments OS: Ubuntu 14.04+ Gitlab 8.1 + Jenkins 2.19.0 + 使用Jenkins对Python项目进行自动化测试主要依赖nose(单元测试)、coverage(代码覆盖率、pylint...

weixin_30359021的博客 1176

微信小程序一键跳转公众号(使用 official-account 组件)

在当今移动互联网时代,用户体验已成为应用成功的关键因素之一。微信小程序作为一种便捷的应用形式,广泛应用于各个行业,为用户提供了丰富的服务和信息。然而,如何进一步提升用户体验,使其在小程序中能够更方便地获取相关信息,成为开发者需要关注的重要课题。实现一键跳转到公众号的功能,正是一个有效的解决方案。通过这一功能,用户可以轻松访问公众号,获取更多内容和服务,从而增强与品牌的互动和粘性。本文将详细介绍如何在微信小程序中实现这一功能,并提供相关的操作步骤和注意事项。

不迁怒,不贰过。小知识,大智慧。 3128

STM32硬件SPI配置为全双工模式下不要单独使用HAL_SPI_Transmit API及HAL_SPI_TransmitReceive改造方法

STM32 HAL库中SPI全双工模式使用问题总结:当配置为全双工模式时,单独使用HAL_SPI_Transmit会导致后续接收数据异常,原因是该API未处理接收数据。改造HAL_SPI_TransmitReceive使其支持单纯的发送/接收模式:当pTxData为NULL时只关心接收数据,pRxData为NULL时只关心发送数据,但仍会保持全双工通信。建议在全双工模式下统一使用改造后的HAL_SPI_TransmitReceive函数。

kevin1499的博客 901

接口自动化测试实践

文章目录背景单元测试规范愿景自动化测试实践开发流程图Dcoker/Jenkins+Ant+Junit实践Jenkins+TestNG的实践阿里Doom自动化测试框架全链路压测系统 背景 温馨提示:下文中大量提到的内容使用了美团的实践和生哥分享的实践! 业务系统上线后通常会需要迭代升级甚至重构,如何保证被修改后系统原有业务的正确性非常重要。不复杂的业务系统通过一些常规的自动化测试工具加上人工测试可以解决,但对于业务十分复杂庞大的系统,回归测试将变成一项浩大的工程,但是至关重要! 举个例子:某电商公司,离职了一

罗_星星的博客 2336

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

python代码覆盖率测试_Python项目在Jenkins中的自动化测试实践(语法检查、单元测试,coverage(代码覆盖率)、自动打包)...

requirmentsOS: Ubuntu 14.04+Gitlab 8.1 +Jenkins 2.19.0 +使用Jenkins对Python项目进行自动化测试主要依赖nose(单元测试)、coverage(代码覆盖率、pylint(语法检查))等工具,配合插件在Jenkins的Web界面展示测试结果。流程如下:1.代码改动push到Gitlab自动触发Jenkins构建项目,执行自动化测试。2...

weixin_39640265的博客 507

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

自动化单元测试实践之路

info已经发布:http://www.infoq.com/cn/articles/road-of-automated-unit-testing-practices自动化单元测试并不是什么新鲜事物,它应该是团队持之以恒的事情,可能有很多团队知道如何去做,但是还做得不够好;还有不少团队不知道如何去做,甚至有一些旧系统还不敢去重构,还在坚持着Java中的main方法调用的方式来执行,在漫长等待构建结果...

weixin_33777877的博客 266

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

Jenkins构建Android项目持续集成之单元测试及代码覆盖率

单元测试   在软件开发中一直在推崇TDD(测试驱动开发),但是一直不能被有效的执行或者并不是真正的测试驱动开发(先开发后写单元测试),因为我们懒!而Android开发又是大多应用层面的开发,很多都是和视图层紧密相连的,业务逻辑和view相绑定,这导致编写单元测试有相当大的困难,因此就我项目而言,只针对工具类、服务端API编写单元测试。关于androidStudio如何编写单元测试并运行,可以...

weixin_34358092的博客 96

NW.js桌面应用自动化测试框架搭建:从单元测试到E2E的完整指南

NW.js作为一款能够直接从DOM/WebWorker调用Node.js模块的桌面应用开发框架,为开发者提供了全新的Web技术应用开发方式。本文将详细介绍如何为NW.js桌面应用搭建从单元测试到E2E的完整自动化测试框架,帮助开发者提高应用质量和开发效率。 ## 一、环境准备与项目搭建 在开始搭建自动化测试框架之前,首先需要准备好NW.js的开发环境。你可以通过以下命令克隆NW.js项目仓库:

gitblog_01182的博客 985
上一篇: MY97日期选择控件支持日期CTRL多选(改进)
下一篇: python 读取和操作json
carroll0911
博客等级 码龄17年 27粉丝 41原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值