自动的自动化:EvoSuite 自动生成JUnit的测试用例

EvoSuite生成单元测试用例 前言 闲话少说,直接上干货。 EvoSuite官网: http://www.evosuite.org 开源代码:https://github.com/chenlinghong/evosuite maven使用 1、引入maven插件 <plugin> <groupId>org.evosuite.plugins</groupId> <arti... 阅读详情

EvoSuite简介

EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。得到了Google和Yourkit的支持。

intelliJ IDEA插件

打开IDE,进入setting(mac版本是Preferences),选择plugins,点击Browse repositories,搜索EvoSuite Plugin,然后选择Install plugin。

Maven 插件引入

当前支持Maven3.1以上版本。
Maven工程可以通过引入EvoSuite的Maven插件来生成新的测试用例。使用Maven插件有如下好处:

1、可以和Jenkins结合,方便快速的运行EvoSuite

2、测试用例生成在pom.xml文件约定好的工程目录下

3、通过Maven的依赖引入EvoSuite,无需单独下载独立的jar文件。

插件的引入如下:

 
<pluginManagement>

<plugins>


<plugin>


<groupId>
org.evosuite.plugins
</groupId>


<artifactId>
evosuite-maven-plugin
</artifactId>


<version>
${evosuiteVersion}
</version>


<executions><execution>


<goals>

<goal>
prepare
</goal>

</goals>


<phase>
process-test-classes
</phase>


</execution></executions>


</plugin>

</plugins>

</pluginManagement>

引入依赖:

<dependency>


<groupId>
org.evosuite
</groupId>


<artifactId>
evosuite-standalone-runtime
</artifactId>


<version>
${evosuiteVersion}
</version>


<scope>
test
</scope>

</dependency>

设定版本的变量(最新版可以在http://www.evosuite.org/downloads/查询):

<properties>


<evosuiteVersion>
1.0.6
</evosuiteVersion>

</properties>

由于EvoSuite是生成的JUnit的文件,因此需要引入Junit的依赖。

<dependency>


<groupId>
junit
</groupId>


<artifactId>
junit
</artifactId>


<version>
4.12
</version>


<scope>
test
</scope>

</dependency>

EvoSuite的使用

EvoSuite的插件将会对对应的子模块的所有的类进行测试用例生成分析,再分析前需要保证对应代码是build过的。通过插件选取或者mvn compile evosuite:generate 开始分析。

默认情况下会在模块目录下生成.evosuite目录,目录里面是测试用例,如果想要修改那么可以通过如下插件进行配置

<plugin>


<groupId>
org.codehaus.mojo
</groupId>


<artifactId>
build-helper-maven-plugin
</artifactId>


<version>
1.8
</version>


<executions>


<execution>


<id>
add-test-source
</id>


<phase>
generate-test-sources
</phase>


<goals>


<goal>
add-test-source
</goal>


</goals>


<configuration>


<sources>


<source>
${customFolder}
</source>


</sources>


</configuration>


</execution>


</executions>

</plugin>

特别提醒:如果上面的变量${customFolder}是.evosuite/evosuite-tests,那么不需要再次执行evosuite:export

详情参见官方文档:http://www.evosuite.org/documentation/

结语:

最后跟大家推荐一个学习资料分享群:175317069,里面大牛已经为我们整理好了许多的学习资料,有自动化,接口,性能等等的学习资料!

人生是一个逆水行舟的过程,不进则退,咱们一起加油吧!

evosuite:EvoSuite-自动为Java类生成JUnit测试套件 什么是EvoSuite? EvoSuite会针对代码覆盖率标准(例如分支覆盖率)自动为Java类生成JUnit测试套件。 它使用基于遗传算法的进化方法来得出测试套件。 为了提高可读性,将生成的单元测试最小化,并将捕获被测类当前行为的回归断言添加到测试中。 使用EvoSuite 有多种使用EvoSuite的方法: 命令行上的EvoSuite EvoSuite是一个可执行的jar文件,您可以按以下方式调用该文件: java -jar evosuite.jar <options> 要使用EvoSuite生成测试套件,请使用以下命令: java -jar evosuite.jar <target> [options] 目标可以是一个类: -class <ClassName> 或程序包前缀,在这种情况下,EvoSuite会尝试为与该前缀匹配的类路径中的每个类生成一个测试套件: - 立即下载

相关推荐

Evosuite-1.0.6 单元测试自动生成jar包

EvoSuite开源工具可以基于IDE进行测试用例的自动生成,生成的测试用例符合Junit标准(直接生成可进行Junit的java文件),满足分支覆盖(即判定覆)

JAVA自动化之Junit单元测试框架详解

1、Junit是什么? Junit是一个Java 编程语言的开源测试框架,用于编写和运行测试。官网 地址:https://junit.org/junit4/

chengxuyuznguoke的博客 435

别再乱点U盘里的.exe了!手把手教你彻底清除那个伪装成Usb Disk的蠕虫病毒

本文详细介绍了如何识别、清除和预防伪装成Usb Disk的蠕虫病毒。从识别感染迹象到安全备份文件,再到深度清理病毒残留和构建防护策略,提供了一套完整的U盘病毒解决方案。特别提醒用户注意U盘病毒的风险,并养成良好的使用习惯。

weixin_30496999的博客 675

【单元测试】自动生成定制化的junit单元测试类

自动生成定制化的junit单元测试类

qq_37997592的博客 1310

天龙八部源码深度解析:从宠物系统到副本机制(C++游戏开发实战)

本文深度解析《天龙八部》源码架构,重点剖析宠物系统状态机实现与副本动态加载机制等核心模块。通过C++代码示例展示宠物AI状态迁移逻辑和副本场景管理技术,为现代游戏开发提供兼容性改造方案与设计启示。适合游戏开发者学习经典MMORPG的工程化实现路径。

weixin_29011239的博客 388

红外小目标检测新思路:当DETR遇上Mamba状态空间模型,速度提升3倍

本文探讨了将Mamba状态空间模型与DETR框架结合,用于解决红外小目标检测的难题。该创新方案通过线性复杂度的Mamba模块替代传统Transformer的自注意力机制,在保持高检测精度的同时,显著提升了推理速度,实现了实时性能的突破,为无人机巡检、安防监控等场景提供了高效解决方案。

hhh00的博客 666

单元自动化测试:基于JUnit设计自动化测试用例

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</model...

AI技术改变世界 678

complier lab2

只需支持定义 main 函数即可不带参数 int main(){...}带参数 int main(int argc, int argv){...}

qq_43581843的博客 907

测者的测试技术手册:自动的自动化EvoSuite 自动生成JUnit的测试用例

EvoSuite简介 EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。得到了Google和Yourkit的支持。 intelliJ IDEA插件 打开IDE,进入setting(mac版本是Preferences),选择plugins,点击Browse repositories,搜索E...

Criss@陈磊 1050

Element-UI全面入门与实战技巧

Element-UI 是一套基于 Vue 2.0 的桌面端组件库,由饿了么前端团队开发并维护。它提供了一系列丰富的 UI 组件,旨在帮助开发者快速构建高效、美观的 Vue 应用程序。Element-UI 是一款遵循 Ant Design 设计规范的 Vue UI 库,它涵盖了从按钮、输入框、选择器到表格、标签、进度条等众多常用的界面元素。Element-UI 的组件不仅功能全面,而且易于定制,使得开发者可以快速实现个性化的页面设计。Element-UI 的特点包括:在使用 Element-UI 之前,需要确

全世界的博客 2864

Python爬虫实战:利用Requests-HTML与异步技术高效爬取B站视频信息及弹幕数据分析

B站的弹幕,远非简单的评论功能,它是一种独特的、实时互动的社交方式,是观众情感的集体宣泄和共鸣。无论是用于内容创作者优化视频结构,还是用于社会学、传播学的研究,亦或是简单的个人兴趣分析,都具备极高的价值。stop_words = {'的', '了', '是', '我', '你', '他', '她', '它', '在', '有', '不', '吗', '吧', '啊', '这', '那'}本文不仅是代码的堆砌,更注重原理的剖析、反爬策略的应对以及工程化的思考,旨在为读者提供一份紧跟技术前沿的实战指南。

2201_76125261的博客 390

EvoSuite详细介绍和使用总结

EvoSuite使用总结

拾年一剑 的专栏 1万+

Unet++改进33:添加ConvolutionalGLU(2024最新改进方法)|紧凑的网络结构和高效的运算

由于残差连接的深度退化效应,许多依赖堆叠层进行信息交换的高效视觉变形模型往往不能形成足够的信息混合,导致视觉感知不自然。为了解决这个问题,在本文中,我们提出了聚合注意力,这是一种基于仿生设计的令牌混合器,它模拟生物中央凹视觉和连续眼运动,同时使特征映射上的每个令牌具有全局感知。此外,我们结合了可学习的令牌,与传统的查询和键交互,这进一步多样化了亲和矩阵的生成,而不仅仅依赖于查询和键之间的相似性。我们的方法不依赖于堆叠进行信息交换,从而有效地避免了深度退化,实现了自然的视觉感知。

AIcurator的博客 684

一种自动化测试用例集生成工具——EvoSuite

Evosuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。 下图为Evosuite插件版的结果截图。左边图为正在生成测试用例,右边图为生成的若干测试用例在Junit下的运行结果。   该网站上提供下载的是一个evosuite-20141014.jar文件,但是由于插件只支持Mac系统和Eclip

小无知 1万+

11.1华为OD机试真题 新系统 - 整理学生编号 (Java/Py/C/C++/Js/Go)

11.1华为OD机试真题 新系统 - 整理学生编号 (Java/Py/C/C++/Js/Go)

算法大师! 473

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

工具尝鲜--单元测试自动生成工具 evosuite

作者|高嘉怡Evosuite简介EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行...

zouhui1003it的专栏 2222

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

EvoSuite终极指南:快速掌握Java单元测试自动生成技术

在当今快速迭代的软件开发环境中,编写高质量的单元测试已经成为确保代码质量的关键环节。然而,手动编写测试用例不仅耗时耗力,还容易遗漏边缘情况。EvoSuite作为一款强大的Java单元测试自动生成工具,能够智能地为你的Java类生成JUnit测试套件,大幅提升开发效率!🚀 ## 什么是EvoSuite? EvoSuite是一款基于搜索算法的自动化测试生成工具,专门为Java类生成JUnit测试

gitblog_00772的博客 1122

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

EvoSuite插件安装及简单使用

1.部署环境 操作系统:Win10 64 软件版本:JDK1.8 Eclipse Luna/Mars EvoSuite开源工具可以基于Eclipse进行测试用例的自动生成,生成的测试用例符合Junit标准(直接生成可进行Junit的java文件)。满足分支覆盖(即判定覆盖) 它的局限性在于需要Java8的运行环境,并且只支持Eclipse的Luna和Mars版本 EvoSuite插件不...

ikoqzurydr的博客 1万+

EvoSuite:自动化Java单元测试生成的终极指南

在当今快速迭代的软件开发环境中,编写高质量的单元测试是确保代码质量的关键环节。EvoSuite作为一款强大的Java单元测试自动化生成工具,能够显著提升开发效率,让开发者专注于核心业务逻辑。 ## 🎯 什么是EvoSuite? EvoSuite是一个基于搜索算法的自动化JUnit测试套件生成工具。它通过分析Java字节码,运用遗传算法和符号执行技术,自动生成覆盖率高、质量优秀的测试用例。这个

gitblog_00356的博客 988

5步掌握EvoSuite:Java自动化测试生成的完整教程

EvoSuite作为一款强大的开源工具,专门为Java开发者提供自动化的JUnit测试用例生成服务。通过遗传算法和智能分析,它能够显著提升单元测试的编写效率和质量保障。本指南将带您从零开始,完整掌握这个优秀的测试自动化工具。 ## 🚀 快速上手:环境准备与项目获取 要开始使用EvoSuite,首先需要准备好基本的开发环境。确保您的系统已安装Java开发工具包(JDK)和Maven构建工具。

gitblog_01182的博客 1123

EvoSuite完全指南:Java单元测试自动生成的终极解决方案

EvoSuite是一款强大的开源工具,专门用于自动化生成符合JUnit标准的Java单元测试用例。通过先进的遗传算法技术,EvoSuite能够显著提升测试代码的覆盖率,为开发团队节省大量手动编写测试用例的时间。 ## 项目概览与核心价值 EvoSuite的核心价值在于其能够自动为Java类生成高质量的测试用例。它通过分析目标代码的结构和行为,自动创建测试用例来覆盖不同的代码路径,包括分支覆盖、

gitblog_00992的博客 994

慕测evosuite找不到文件_单元测试自动生成工具 evosuite 尝鲜

偶尔在群里看到卡斯提到 evosuite 这个工具,随手查了下,竟然可以自动生成单元测试,而且看官方视频还不是太复杂,赶紧尝鲜一下。介绍直接摘抄网上的:EvoSuite是由Sheffield等大学联合开发的一种开源工具,用于自动生成测试用例集,生成的测试用例均符合Junit的标准,可直接在Junit中运行。通过使用此自动测试工具能够在保证代码覆盖率的前提下极大地提高测试人员的开发效率。但是只能辅助...

weixin_42117037的博客 740
上一篇: 刚从阿里回来,有一些想法想对现在的测试员说
下一篇: Linux定时任务Crontab不起作用的排查步骤
TestingGDR
博客等级 码龄8年 496粉丝 72原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值