你知道这个提高 Java 单元测试效率的 IDEA 插件吗

前言

2023年我们公司主抓代码质量,所以单元测试必不可少,而且都写到了年底的绩效目标中了。在考虑如何达成这个目标的过程中,我发现了一个关于单元测试的IDEA插件——SquareTest,它可以帮助我们提高编写单元测试的速度,你知道吗?

欢迎关注个人公众号【JAVA旭阳】交流学习

SquareTest插件安装

  • 安装插件

  • 安装后,您可以看到它出现在顶部菜单栏中

SquareTest使用

现在我通过一个例子告诉大家SquareTest是如何使用的,下面有一个DateUtil的类,写了一些方法。

  • DateUtil类中,我们可以单击鼠标右键,将弹出包含这些选项的菜单。只需单击“Gnerate...”。

  • SquareTest插件为我们提供了另外 2 个新选项——使用或不使用 mock 生成测试。Mocks 是指那些需要“伪造”其代码行为的依赖项。

在第一个提示中,您可能会被问到您想要的单元测试模板是什么。就我而言,我将选择带有 MockitoSpring 模板的 JUnit4。

此后,该模板会帮助您生成一个全新的类,其中包含所有带有默认参数的公共方法!

但是,您仍然需要检查参数和测试逻辑以确保它们确实有意义。

总结

当我们用许多需要测试的公共方法完成我们的业务逻辑时,这非常有用。无需手动编写所有案例,该插件可以帮助我们减少案例生成时间,让开发人员有更多时间专注于业务和测试逻辑。但是有一个很大的缺点,好像是要收费的,555555,不过有30天的试用,大家可以体验一波!!!!

欢迎关注个人公众号【JAVA旭阳】交流学习

本文来自博客园,作者:JAVA旭阳,转载请注明原文链接:http://www.cnblogs.com/alvinscript/p/17067576.html

本文转载于网络 如有侵权请联系删除

相关文章

  • 【flask】模块拆分の使用红图

    简介红图,顾名思义-Redprint。 蓝图是模块级别的拆分,它不是设计来让你拆分试图函数的。要实现比模块级别下更具体的视图函数的拆分,例如在用Flask制作RESTAPI时版本号下根据不同业务对象的函数拆分时,我们就需要自定义一个跟蓝图功能相同的模块。在这里,为了体现它跟蓝图的异曲同工之妙,我们将它命名为红图!使用实现Redprint,主要是参考blueprint的源码/原理进行一些改造 redprint.py文件classRedprint: def__init__(self,name): self.name=name self.mound=[] defroute(self,rule,**options): defdecorator(f): self.mound.append((f,rule,options)) returnf returndecorator defregister(self,bp,url_prefix=None): ifurl_prefixisNone: url_prefix='/'+self.name forf,rule,optionsi

  • 威联通(QNAP) RAID1 升级容量更换硬盘教程

    我的NAS感觉容量不太够用了,所以升级一下硬盘,顺便做个教程。我NAS型号是威联通TS-551,我原先是用两块2T的机械硬盘组RAID1(1块东芝,1块三星的二手硬盘,三星的通电时间截止目前已经65632小时了,真够坚挺的),还有一块2T的机械硬盘放不重要的数据(日立的,通电时间截止目前也有49897小时了)。还有2块240G的SSD组RAID1做高速缓存。买了两块4T的机械硬盘,1块是400元的希捷的银河企业级硬盘(ST4000NM0035),卖家标的是全新的,不过我感觉大概率是翻新盘,通电时间清零了;另1块是320元的日立的企业级硬盘(HUS724040ALE641),也是标的全新,大概率也是翻新盘。威联通TS-551网络存储器(NAS)开箱评测,1500元的5盘位NAS:https://blog.zeruns.tech/archives/611.html升级更换硬盘首先登陆到NAS,点击存储与快照总管,再点击存储/快照。右键点击要更换硬盘的存储空间,点管理点管理,逐一取代磁盘选择要更换的硬盘(选择其中一个,我这里先换第二个),点击更换,然后拔出你所选的硬盘。然后等待一会,待出现提

  • 巧用Kotlin:内置函数let、also、with、run、apply大大提高你的开发效率!

    前言在Kotlin中,有一些用于扩展&方便开发者编码的内置函数,能大大提高开发者的开发效率。今天,我将主要讲解的是:let函数also函数with函数run函数apply函数基础知识:接口回调中Lambda使用在Kotlin中可使用Lambda函数简化一些不必要的嵌套接口回调方法注:仅支持单个抽象方法回调,多个回调方法不支持。 //Java接口回调 mVar.setEventListener(newExamEventListener(){ publicvoidonSuccess(Datadata){ //... } }); //同等效果的Kotlin接口回调(无使用lambda表达式) mVar.setEventListener(object:ExamEventListener{ publicvoidonSuccess(Datadata){ //... } }); //Kotlin接口回调(使用lambda表达式,仅留下参数) mVar.setEventListener({ data:Data-> //... }) //继续简化 //简化1:借助kotlin的

  • [Android] Android O 广播限制

    问题因为项目需要迁移到8.0平台,发现有一个系统应用打不开,从log发现如下描述:BroadcastQueue:Backgroundexecutionnotallowed:receivingIntent{...}复制实际上,在AndroidO,像下面的隐式广播都不再起作用:sendBroadcast(newIntent("this.is.an.implicit.broadcast"));复制通常来讲,这个广播会被所有注册这个action的receiver接收到。即便是在AndroidO版本,还有两类receiver仍然会接收这个广播:targetSdkVersion<=25的应用通过registerReceiver()注册的并有已经启动的进程的应用但是通过Manifest文件静态注册的BroadcastReceiver是不会接收这个广播的,反而会打印出一些开头提到的logW/BroadcastQueue:Backgroundexecutionnotallowed:receivingIntent{act=android.intent.action.PACKAGE

  • Confluence 6 示例 - https://confluence.atlassian.com/

    这里是有关存储空间和内存使用的情况,数据更新于2013年04月:数据库大小2827MBHome目录占用空间大小116GB平均内存消耗1.9GB选择实例的数据库表格数据(Data)相关表格(RelevantTable)行(Rows)大小(Size)附件元数据(Attachmentmetadata)attachments19390360MB内容和用户属性(Contentanduserproperties)os_propertyentry(?)639737255MB内容正文(包括有所有博客页面,页面内评论的版本历史)bodycontent5175201354MB内容元数据(包括有标题,作者)content623155459MB标签(Labels)label(5982,1264kB),content_label(134151,46MB)14013347.2MB用户(Users)users387666200kB备注:这里没有显示所有的数据库表或者索引,平均的行数量针对安装的实例不同而不同。选择的home目录组件大小数据(Data)文件(Files)大小(Size)附件(Attachments,包

  • flask上传excel文件,无须存储,直接读取内容

    运行环境python3.6importxlrd fromflaskimportFlask,request app=Flask(__name__) @app.route("/",methods=['POST','GET']) deffilelist1(): print(request.files) file=request.files['file'] print('file',type(file),file) print(file.filename)#打印文件名 f=file.read()#文件内容 data=xlrd.open_workbook(file_contents=f) table=data.sheets()[0] names=data.sheet_names()#返回book中所有工作表的名字 status=data.sheet_loaded(names[0])#检查sheet1是否导入完毕 print(status) nrows=table.nrows#获取该she

  • 从MySQL注入到XPath注入

    0x00XPath基础知识XPath是什么?XPath节点(Node)选取节点为选取节点添加限制条件——谓语选取未知节点多路径的选取XPath运算符0x01从MySQL盲注开始0x02MySQL转向XPath0x03XPath中的万能密码0x04XPath盲注XPath盲注思路从题目中学习总结绕过0x05XPath有回显的注入Author:颖奇L’AmoreBlog:www.gem-love.com0x00XPath基础知识▸这个部分只是单纯铺垫XPath基础知识,不涉及注入,了解XPath可以跳过这里直接引用w3school的XPath教程中的案例,因为里面给了好多示例,基本一看就懂的那种。XPath是什么?▸XPath是用来从XML文档中进行查找信息的语言。XPath节点(Node)▸XPath中有7种类型的节点:元素、属性、文本、命名空间、处理指令、注释以及文档(根)节点这个没有太大了解的必要,知道节点这个名词就够了,不需要分的特别细致。选取节点▸后面都以这个xml文档为例<spanclass="hljs-meta">&lt;?xmlver

  • mysql-canal-rabbitmq 安装部署教程

    原文 1.1.开启MySQL的binlog日志 修改my.cnf或my.ini(windows),添加配置项: #binlog日志存放路径 log-bin=D:\env\mysql-5.7.28-winx64\binlog #日志中记录每一行数据被修改的形式 binlog-format=ROW #当前机器的服务ID,如果为集群时不能重复 server_id=1 复制 重启mysql服务后,查看配置变量是否生效: mysql>showvariableslike'%log_bin%'; +---------------------------------+----------------------+ |Variable_name|Value| +---------------------------------+----------------------+ |log_bin|ON| |log_bin_basename|D:\env\mysql-5| |log_bin_index|D:\env\mysql-5.index| |log_bin_trust_function_c

  • springmvc request foward 和 redirect

    ---恢复内容开始---  最近在实现那个学生信息录入的时候,先是在添加学生的页面添加完,然后想直接调用Conroller层遍历学生的方法,我的意思就是在contoller一个方法怎么直接调用另外一个方法, 这个就需要用到 forward和redirect这个两个方法,先看我的StudentController里面的代码 packagezizai.controller; importjava.util.List; importjavax.annotation.Resource; importjavax.servlet.http.HttpServletRequest; importorg.springframework.stereotype.Controller; importorg.springframework.ui.Model; importorg.springframework.web.bind.annotation.RequestMapping; importorg.springframework.web.servlet.ModelAndView;

  • JS中的事件、事件冒泡和事件捕获、事件委托

    https://www.cnblogs.com/diver-blogs/p/5649270.html https://www.cnblogs.com/Chen-XiaoJun/p/6210987.html JavaScript事件模型及事件代理 事件模型   JavaScript事件使得网页具备互动和交互性,我们应该对其深入了解以便开发工作,在各式各样的浏览器中,JavaScript事件模型主要分为3种:原始事件模型、DOM2事件模型、IE事件模型。   1.原始事件模型(DOM0级)     这是一种被所有浏览器都支持的事件模型,对于原始事件而言,没有事件流,事件一旦发生将马上进行处理,有两种方式可以实现原始事件:       (1)在html代码中直接指定属性值:<buttonid="demo"type="button"onclick="doSomeTing()"/>         (2)在js代码中为 document.getElementsById("demo").onclick=doSomeTing()     优点:所有浏览器都兼容     缺点

  • 转载: 房贷利率下降,促进 楼市销售 上行 2022-10-10

    转载:https://baijiahao.baidu.com/s?id=1746295841564091930&wfr=spider&for=pc   这些城市房贷利率进入“3时代”,距离楼市销售回暖还有多远?   第一财经 2022-10-1018:24第一财经官方帐号,优质财经领域创作者 关注 节前,央行、银保监会、财政部等部门针对居民房贷推出多条新政,国庆假期期间已有多个城市火速行动,首套房商业贷款利率再次调整的同时,公积金贷款利率也时隔7年首次下调。 据第一财经记者了解,目前包括山东济宁、广东清远等在内的多个城市在国庆期间下调了个人首套住房商业贷款利率,最低触及3.7%的新低水平。节后第一天,就有杭州、无锡、郑州等数十个城市官宣调整首套个人住房公积金贷款利率。 中指研究院指数事业部市场研究总监陈文静对记者表示,预计后续满足条件的城市将陆续跟进下调首套房贷利率,部分城市实际执行房贷利率也将因此触及历史低位,叠加个税退税及各城市认房认贷优化等政策,居民换房、购房成本降低,刚需及改善型需求都会得到有效释放。 同时,有观

  • libsysutils_module

    目录概述源码解析1.NetlinkListener模块-处理socket消息的1.1NetlinkListener构造函数1.2onDataAvailable-处理数据2.SocketListener模块-管理socketclient的2.1SocketListener构造函数2.2init-初始化SocketListener2.3startListener-启动socket线程2.4threadStart-线程运行的函数2.5release-释放socketclients3.SocketClient模块-存储socketfd,负责socket通信的,主要是发信息的函数3.1SocketClient构造函数3.2incRef-加引用计数3.3decRef-减少引用计数4.NetlinkEvent模块-解析uevent事件的4.1NetlinkEvent构造函数4.2decode-解析uevent事件的4.3parseAsciiNetlinkMessage-解析uevent事件4.4HAS_CONST_PREFIX-看有没有prefix问题补充参考 概述 源码解析 1.NetlinkLi

  • matlab练习程序(简单多边形的核)

    还是计算几何,多边形的核可以这样理解:这个核为原多边形内部的一个多边形,站在这个叫核的多边形中,我们能看到原多边形的任何一个位置。 算法步骤如下: 1.根据原多边形最大和最小的x,y初始化核多边形,就是个矩形。 2.计算多边形当前处理的点的凹凸性。 3.用当前点与其后继点构成直线,判断当前点的前驱点在该直线的左边或右边。 4.用该直线将原核多边形分为两个部分,选择其中一个部分作为处理下一个点将用到的核,选择的依据有以下两点:   1)如果当前点为凸点,那么选择的核与3步中前驱点的所在方向相同。   2)如果当前点为凹点,那么选择的核与3步中前驱点的所在方向相反。   在编程中正好是三个标记连乘为正。 5.使用新的核,计算下一个点,循环第2步直到遍历所有点。 结果如下: matlab代码如下:   clearall;closeall;clc; n=20; p=rand(n,2); p=createSimplyPoly(p); n=n+1; p(n,:)=p(1,:); maxX=max(p(:,1)); minX=min(p(:,1)); maxY=max(p(:,2

  • 编程之美 1.7光影切割问题

    问题:如何快速计算某个时刻,在X[A,B]区间上的地板被光影划分成多少块?解法一:两条直线+一个交点=>空间分成4块三条直线+2个交点=>空间分成6块三条直线+3个交点=>空间分成7块n条直线+m个交点=>空间分成n+m+1块初始化时间复杂度O(N^2),找出所有的交点每次查询时间复杂度O(m),哪些交点在X[A,B]区间内若初始化后将交点按x轴排序,初始化需O(N^2+mlogm)然后每次查询二分查找O(logm)解法二:可以看出图中的逆序数等于直线的交点数,因为没有3条直线相交于一个点。直接求解逆序数的方法是O(N^2)可以用分治的思想降为O(NlogN),可通过归并排序或树状数组求得。

  • 学习笔记TF019:序列分类、IMDB影评分类

    序列分类,预测整个输入序列的类别标签。情绪分析,预测用户撰写文字话题态度。预测选举结果或产品、电影评分。 国际电影数据库(InternationalMovieDatabase)影评数据集。目标值二元,正面或负面。语言大量否定、反语、模糊,不能只看单词是否出现。构建词向量循环网络,逐个单词查看每条评论,最后单词话性值训练预测整条评论情绪分类器。 斯担福大学人工智能实验室的IMDB影评数据集:http://ai.stanford.edu/~amaas/data/sentiment/。压缩tar文档,正面负面评论从两个文件夹文本文件获取。利用正则表达式提取纯文本,字母全部转小写。 词向量嵌入表示,比独热编码词语语义更丰富。词汇表确定单词索引,找到正确词向量。序列填充相同长度,多个影评数据批量送入网络。 序列标注模型,传入两个占位符,一输入数据data或序列,二目标值target或情绪。传入配置参数params对象,优化器。 动态计算当前批数据序列长度。数据单个张量形式,各序列以最长影评长度补0。绝对值最大值缩减词向量。零向量,标量0。实型词向量,标量大于0实数。tf.sign()离散为0或1

  • 最大熵模型 最大熵模型(MaximumEntropyModel,以下简称MaxEnt),MaxEnt是概率模型学习中一个准则,其思想为:在学习概率模型时,所有可能的模型中熵最大的模型是最好的模型;若概率模型需要满足一些约束,则最大熵原理就是在满足已知约束的条件集合中选择熵最大模型。 最大熵原理指出,对一个随机事件的概率分布进行预测时,预测应当满足全部已知的约束,而对未知的情况不要做任何主观假设。在这种情况下,概率分布最均匀,预测的风险最小,因此得到的概率分布的熵是最大。 关于条件分布$P(X|Y)$的熵为: $H(P)=–\sum_{x,y}P(y,x)logP(y|x)=–\sum_{x,y}\widetilde{P}(x)P(y|x)logP(y|x)$ 首先满足约束条件然后使得该熵最大即可,MaxEnt模型$P^*$为 $P^*=arg\max_{P\inC}H(P)\\ 或\\  P^*=arg\min_{P\inC}-H(P)$ 综上给出形式化的最大熵模型: 给定数据集$\left\{(x_i,y_i)\right\}_{i=1}^N$,特征函数

  • 《码出高效Java开发手册》阅读笔记 - 第一章(未完成)

    第一章.计算机基础知识 计算机中常用的存储计量单位。 位即1个bit,简写为b。8个bit组成一个字节,即1个Byte,简写B。1024个Byte简写为KB。1024KB简写为MB。1024MB简写为GB。位即1个bit,简写为b。8个bit组成一个字节,即1个Byte,简写B。1024个Byte简写为KB。1024KB简写为MB。1024MB简写为GB。 cpu与内存 cpu是一块超大规模的集成电路板,是计算机的核心部件,承载计算机的主要运算和控制功能,是计算机指令的最终解释模块和执行模块。 控制器: 由控制单元、指令译码器、指令寄存器组成。控制单元是cpu的大脑,由时序控制和指令控制等组成;指令译码器是在控制单元的协调下完成指令读取、分析并交由运算器执行等操作;指令寄存器是存储指令集。控制器有点像一个编程语言的编译器,输入0与1的源码流,通过译码和控制单元对存储设备的数据进行读取,运算完成后,保存回寄存器,甚至是内存。 运算器: 运算器的核心是算术逻辑运算单元,即ALU,能够执行算术运算或逻辑运算等各种命令,运算单元会从寄存器中提取或存储数据。相对控制

  • vsCode快捷

    鼠标+ALT完成列选择 列选择扩展(选定某一行) 文章引用来源https://tahoeninjas.blog/2019/03/30/multi-cursor-editing-in-visual-studio-code/

  • python脚本之日期格式显示

    脚本内容: #!/usr/bin/python#coding=utf-8#根据给定的年月日以数字形式打印出日期months=["January","February","March","April","May","June","July","August","September","October","November","December"]#以1-31的数字作为结尾的列表ending=["st","nd",'rd']+17*['th']\+["st","nd","rd"]+7*['th']\+['st']year=raw_input("year:")month=raw_input('month(1-12):')day=raw_input('day(1-31):')month_number=int(month)day_number=int(day)#记得要将月份和天数减1,以获得正确的索引ordinal=day+ending[day_number-1]month_name=months[month_number-1]printmonth_name+''+ordinal+','+yea

  • C# params 动态参数

    publicdelegatevoidAction(paramsobject[]args);   再简单的东西都要强迫自己记录了,前段时间硬盘坏了,资料全没了,也没有备份,太痛苦了,那么多资料全没了

  • 上海贝岭产品-汽车芯片选型

    BL1555Q/BL8078Q40V/50mA FEATURES •Lowpowerconsumption:2.5uA(Typ.) •Maximumoutputcurrent:50mA •Smalldropoutvoltage 240mV@50mA(VOUT=5.0V) 335mV@50mA(VOUT=3.3V) •Wideinputvoltagerange:3V~40V •Outputvoltage:3.3V,5.0V •Highlyaccurate:±2% •AEC-Q100Grade2 APPLICATIONS •Automotive •Batterypoweredequipment •Referencevoltagesourceregulationafter switchingpower •Always-OnBatteryApplications DoorModules RemoteKeyless-EntrySystems Immobilizers MEQ63106V/150mA 特点 •输入电压为2.6V~6V •用低ESR陶瓷电容器输出仍然稳定 •超低压差(典型值60mV/

相关推荐

推荐阅读