自动的自动化:EvoSuite 自动生成JUnit的测试用例
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/
关注测者,关注测试
转载于:https://www.cnblogs.com/mrtester/p/10118293.html
自动的自动化:EvoSuite 自动生成JUnit的测试用例相关推荐
- idea package自动生成_Idea 自动生成Junit单元测试插件JunitGenerator
JunitGenerator Idea中提供了可以自动生成Junit单元测试的插件,JunitGenerator.本篇文章将介绍如何在idea中安装.配置及使用JunitGenerator,以方便大家 ...
- 软件测试作业8:分析自动售货机软件例子生成的判定表图例
作业8 1.分析 Chap.5 (Lec.19) 自动售货机软件例子生成的判定表图例的第6列和第23列,分别给出: (1).输入条件的自然语义陈述: (2).输出结果的自然语义陈述: (3).用命题逻 ...
- 雪花算法及运用PHP,雪花算法生成全局唯一ID,参考了下网上雪花算法生成规则,机器ID和序列号自动获取 理论上毫秒可生成 1024*4096个唯一ID
任务要求毫秒生成10000个唯一ID 研究了下twitter/snowflake的算法思想: 参考了下网上雪花算法生成规则,把数据中心和机器编号整合一起,变成10位机器ID, 机器ID和序列号自动获取 ...
- android系统自动构建,[系统集成] Android 自动构建系统
一.简介 android app 自动构建服务器用于自动下载app代码.自动打包.发布,要建立这样的服务器,关键要解决以下几个问题: 1. android app 自动化打包 android 的打包一 ...
- MyBatis-plus自动填充功能之自动填充时间
MyBatis-plus自动填充功能之自动填充时间 一.前期工作 二.自动填充 2.1 数据库级别 2.2 代码级别 在实际操作过程中,我们并不希望创建时间.修改时间这些来手动进行,而是希望通过自动化 ...
- 一起用Python做个自动化短视频生成脚本,实现热门视频流水线生产!
前言 前几天有粉丝和我说,最近在网上看到一些视频营销号一天能发布几百条短视频, 感觉都是批量生成的,能不能用Python做个自动化短视频生成脚本呢? 今天就带大家一起用Python做个自动化视频生成脚 ...
- 理工科Word论文排版(章节自动标号、公式自动标号、图片自动标号、表格自动标号、标号交叉引用、公式参数介绍等),持续更新
最近在完成论文的写作,无论是硕博士的大论文还是日常发布的小论文,精美的排版都会让评阅人心情舒畅,一个良好的word模板也会让论文写作变得简单容易. 正所谓工欲善其事必先利其器,拿出半天的时间去制作一个 ...
- Java进阶之自动拆箱与自动装箱
序. java基本类型介绍 java中,基本数据类型一共有8种,详细信息如下表: 类型 大小 范围 默认值 byte 8 -128 - 127 0 short 16 -32768 - 32768 0 ...
- sql数据库自动增量备份_SQL自动增量
sql数据库自动增量备份 Sometimes we don't have unique identifiers in the table to create a primary key. In thi ...
- 饮品自动贩卖机系统 c语言,自动贩卖机控制系统自动贩卖机控制系统.doc
自动贩卖机控制系统自动贩卖机控制系统 综合训练项目四"自动贩卖机控制系统" 专 业: 自动化 班 级: 12-1班 姓 名: 白琼 学 号: 1205010102 指导教师: 谢国 ...
最新文章
- SQL*Plus 系统变量之15 - DESC[RIBE]
- BugKuCTF WEB web基础$_GET
- QT的QBoxPlotSeries类的使用
- java assert可以检查exception吗_检查胃病一定要做胃镜吗?这五种检查也可以筛查胃病疾病...
- 【BZOJ2728】[HNOI2012]与非 并查集+数位DP
- Mybatis中连接池介绍
- Taro+react开发(74):taro架构使用
- hadooppythonudf_Hive使用python编写的自定义函数UDF进行ETL
- 北乐博客装饰分享CSS+HTML+js
- CNCF Weekly:OCM 成为 CNCF 沙箱项目
- (day 32 - 位运算 )剑指 Offer 56 - I. 数组中数字出现的次数
- mybatis foreach标签的使用
- loadrunner11使用谷歌代理录制脚本全过程
- Java分布式面试题及答案,附架构师必备技术详解
- 《算法第4版》与《算法导论》比较
- WRF气象数据之NECP FNL数据批量下载
- arcgis怎么压缩tif文件_怎么把图片文件大小压缩到25k到40k还比较清晰
- 操作系统文件管理之FCB
- ubuntu 命令行关机
- android关机动画