如何使用eclemma插件_如何集成和使用EclEmma插件来获得良好的Junit覆盖率
如何使用eclemma插件
你好朋友,
如果编写好的代码很重要,那么编写覆盖所有业务逻辑的优良Junit测试用例也同样重要。通过编写覆盖业务逻辑的Junit测试用例,我们实际上确保代码的每种方法都能正常工作按照预期进行,因此减少了在软件开发的后期阶段中获取错误的机会。
在本教程中,我们将看到如何使用EclEmma插件来检查Java代码的代码覆盖率,从而可以确保通过Junit测试用例具有良好的覆盖率。
第1步 :
转到以下链接:
https://www.eclemma.org/
第2步 :
单击左侧菜单上的安装->下载选项。
第三步:
右键单击最顶部(最新)链接(在撰写本文时,它是“ eclemma-3.1.2.zip”),然后将Zip保存在您的计算机上。
第4步 :
将zip提取到您选择的相同位置。
步骤5:
复制提取的文件夹并转到eclipse文件夹(安装了eclipse的位置),然后将此提取的文件夹粘贴到eclipse文件夹中的dropins文件夹中。
步骤6:
重新启动Eclipse。
步骤7:
右键单击项目文件夹,然后选择Coverage As-> JUnit Test,然后单击Coverage按钮,它将运行所有测试用例并检查覆盖率。
现在,因为在此阶段,我们的服务层代码中没有任何测试用例,所以我们获得了0.0%的覆盖率,并且所有代码行都显示为红色,这意味着Junit测试中未覆盖这些行。
一般来说 :
如果看到绿色,则表示Junit测试中覆盖了所有这些线条。
如果看到红色,则表示Junit测试未覆盖所有这些线。
如果看到黄色,则表示您的测试已经通过了这些行,但并未涵盖所有测试用例。
接下来,我们将创建一个Spring Boot项目,在其中添加一些代码,然后逐步编写测试用例,并查看EclEmma插件如何提供代码覆盖率。
第八步:
让我们通过创建一个简单的名称为“ eclemma”的Spring Boot项目来了解它的工作原理。请按照我的教程“ 如何使用Spring Initializer创建Spring Boot项目来创建Spring Boot项目”。
步骤9:
在新创建的项目中,按照以下屏幕快照创建具有名称的包和类
第十步:
这是CalculatorService的源代码
package com.blogspot.javasolutionsguide.eclmma.service; /** * @author JavaSolutionsGuide * */ public interface CalculatorService { int add( int a , int b); int subtract( int a, int b); }
<br>
<br>
<br>
这是CalcualtorServiceImpl的源代码
package com.blogspot.javasolutionsguide.eclemma.service.impl; /** * @author javaSolutionsGuide * */ public class CalculatorServiceImpl { public int add( int a , int b) { int c = a + b; return c; } public int subtract( int a, int b) { int c = a - b; return c; } }
步骤11:
因此,首先我们将只为add()方法编写测试用例,然后运行Eclemma coverage
这是add()方法的JUnit测试用例的代码:
package com.blogspot.javasolutionsguide.eclEmma.service.impl; import org.junit.Assert; import org.junit.Test; import org.junit.runner.RunWith; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.test.context.SpringBootTest; import org.springframework.test.context.junit4.SpringRunner; import com.blogspot.javasolutionsguide.eclemma.service.impl.CalculatorServiceImpl; /** * @author JavaSolutionsGuide * */ @RunWith (SpringRunner. class ) @SpringBootTest (classes = {CalculatorServiceImpl. class }) public class CalculatorServiceImplTest { @Autowired private CalculatorServiceImpl calculatorService; @Test public void add_for_givenTwoInteger_shouldReturn_sumOfTwo() { Assert.assertEquals( "Test case to check if add returns sum of two give positive numbers" , 3 , calculatorService.add( 1 , 2 )); } }
<br>
<br>
<br>
第十二步:
现在,让我们再次运行EclEmma Coverage并查看结果:
可以看到,CalculatorServiceImpl类的覆盖率从0.0%增加到60%,并且运行覆盖率后,add()方法的代码行现在变为绿色,这意味着这些行已被Junit测试覆盖。
步骤13:
同样,我们将为减法编写所有测试用例并查看覆盖率。
在CalculatorServiceImplTest.java中添加以下测试用例:
@Test public void subtract_for_givenTwoInteger_shouldReturn_differenceOfTwo() {
Assert.assertEquals( "Test case to check if subtract returns sum of two give positive numbers" , 1 , calculatorService.subtract( 2 , 1 )); }
如我们现在所见,CalculatorServiceImpl类的覆盖率是100%。
摘要
因此,在本教程中,我们学习了如何使用EclEmma插件查看您代码的Junit测试覆盖率。基于Junit代码覆盖率报告,我们可以找出Junit覆盖了我们代码的哪些部分,以及仍然左,然后我们可以为未发现的代码行编写更多的测试用例,这将确保我们已通过Junit涵盖了所有必需的代码行,从而提高了代码质量。
如果您喜欢阅读本文,请与您认为有帮助的朋友,同事分享。
翻译自: https://www.javacodegeeks.com/2019/08/integrate-use-eclemma-plugin-having-good-junit-coverage.html
如何使用eclemma插件
如何使用eclemma插件_如何集成和使用EclEmma插件来获得良好的Junit覆盖率相关推荐
- emlog充值插件_常用十大必备Emlog插件
常用十大必备Emlog插件 一个建站程序功能完善离不开插件的支持,也就是功能的插件化.特别是开源的程序,其个性化扩展更大,wordpress的强大很大一个原因就是为其开发的插件种类多.网站的基本功能都 ...
- wordpress会员插件_最好的免费WordPress会员插件
wordpress会员插件 WordPress is an incredibly versatile CMS. You can use it to launch a blog, an online s ...
- gsonformat插件_吐血推荐珍藏的IDEA插件
之前给大家推荐了一些我自己常用的VS Code插件,很多同学表示很受用,并私信我说要再推荐一些IDEA插件.作为一名职业Java程序员/业余js开发者,我平时还是用IDEA比较多,所以也确实珍藏了一些 ...
- wps 插件_【追加功能】OFFICE插件管理工具重整后再上路,更好用易用。
现在使用OFFICE插件的群体越来越多,在8月份修复过的[OFFICE插件管理工具],尝试将COM加载项的插件管理进行完善. 但仍然有一小部分普通加载项的管理未能加到里面.特别是近期用户反馈到的Eas ...
- foobar插件_如何为 caddy 添写自定义插件
如何为 caddy 添写自定义插件 项目地址:https://github.com/yhyddr/quicksilver/tree/master/gosample/caddy-plugin 前言 Ca ...
- gsonformat插件_收藏非常有用的IDEA插件,没用过这些IDEA插件?怪不得写代码头疼
小伙伴们,大家好. 今天准备和大家一起分享一下实际工作中常用的几款能提升幸福感和工作效率的IDEA插件吧,也欢迎小伙伴们在评论区安利出你们用过的觉得非常不错的插件,大家一起交流进步. 1.Backgr ...
- wordpress插件_深入了解:高级WordPress插件
随着WordPress的发布,它是开源平台的第三次(第三次)主要迭代,我们已经看到越来越多的开发人员蜂拥而至, 大规模发布了插件. 尽管插件的免费选项似乎层出不穷,但是有些软件公司以非常实惠的价格提供 ...
- 微信小程序点播插件_微信小程序商城直播插件测试
直播现在真的是太火了,除了各大平台之外,做为品牌方和商家也都在想各种办法开始做直播.腾讯去年针对电商场,上线上腾讯直播,主播端采用的是看点直播APP,只能使用苹果手机.观众端使用小程序观看,满足了一部 ...
- 定位插件_微创新 | 开发PL/SQL插件,快速定位所需字段
点击上方蓝字?加入我们吧!成果ID:96749项目简介 PL/SQL Developer是公司数据支撑人员常年使用的数据库操作软件,提供了众多便利的功能.但同时还有一些地方可以优化,使其更适合我们的使 ...
最新文章
- 站在历史的长河中做农活
- centos6.5安装remmina rdp
- Linux搭建安卓开发环境
- 【机器视觉】 dev_update_window算子
- MIP 技术进展月报:储存功能全新上线,MIP-Cache域名升级,校验更严谨
- 33. 高精度练习之乘法
- Auto CAD 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 全版本 附带安装教程+入门到精通视频教程
- QGIS导入postgresql数据库shp数据
- ASP.net网页导出Excel中文乱码解决方案
- 如何在服务器上快速克隆虚拟机,制作虚拟机模板快速克隆Linux虚拟机
- 学生消费记录管理系统(C语言 结构体, 链表)
- Flutter Ticker类的用法
- 【历史上的今天】4 月 5 日:平衡车之父出生;苹果发布 Boot Camp;计算机先驱诞生日
- Ubuntu Linux环境下VSCode无法键入中文
- 从红海里面寻找蓝海,看一个人的思维模式
- 错误 1 error MSB4062: 未能从程序集 C:\caffe\NugetPackages\OpenCV.2.4.10\buil
- caffe 绘制acceracy曲线 IndexError: list index out of range的解决方案
- Android自定义view摇杆,Android 自定义摇杆控件(使用图片)
- Linux-Postfix+Dovecot+Postfixadmin+Roundcubemail 搭建邮件服务器管理系统(一)
- C程序设计语言——VC++2010安装教程
热门文章
- YBTOJ洛谷P4074:糖果公园(树上莫队)
- AT5160-[AGC037C]Numbers on a Circle【贪心,堆】
- P6672-[清华集训2016]你的生命已如风中残烛【结论】
- jzoj6375-华灵「蝶妄想」【结论题】
- nssl1141,jzoj3470-最短路【SPFA,暴力】
- ssl1776-游乐场【图论,深搜】
- 2021牛客暑期多校训练营2 L-WeChat Walk(分块)
- 牛客练习赛 63 F-牛牛的树行棋
- 【图论】清理牛棚/Cleaning Shifts S(luogu 4644)
- MySQL find_in_set()函数