文档章节

IntelliJ IDEA如何进行单元测试和代码覆盖率

writeademo
 writeademo
发布于 2018/05/24 19:41
字数 801
阅读 8.1K
收藏 6

IntelliJ IDEA如何进行单元测试和代码覆盖率

本文将展示如何使用IntelliJ IDEA开发单元测试和分析覆盖率。

1 创建新的项目

创建名为UnitTestingApp的Java项目。

 

2 创建一个类进行测试

创建一个新的类用于测试。

 

添加方法sayHello返回Hello字符串。

 

3 创建测试源根目录

为了不将测试添加到源中,用户可以创建根目录。在这种情况下测试将从产品代码中分离出来。

创建一个测试源根目录。

 

4 创建一个测试类

IntelliJ IDEA提供了一个快捷操作Cmd + Shift + T作为类和测试之间的导航。同时允许用户在那里创建一个测试类。

 

选择JUnit 4作为单元测试库。IntelliJ IDEA将提供到件这个库添加到模块中。选择生成setUp和sayHello的方法。

 

如果项目有几个源根目录,IDE将要求选择其中一个,用于放置新的测试类。

 

当测试类生成后,我们可以为我们的测试方法testSayHello添加代码。

 

5 运行测试

现在我们可以通过右键菜单在这个类上运行'MyClassTest'来进行测试,或通过Run → Edit Configurations来进行。

 

结果将在Run工具窗口进行显示。

 

6 编辑测试设置

我们可以通过Run → Edit Configurations或工具栏上的标签来调整我们的测试运行配置。

 

在Configuration选项卡,用户可以选择需要运行的测试。例如,您可以从一个类、程序包、测试套件或甚至模式中运行所有的测试。这里的Fork模式让用户在一个单独的进程运行每个测试。

 

在代码覆盖标签你可以调整覆盖率设置。目前IntelliJ IDEA支持两种测量覆盖率引擎。默认情况下它使用自己的引擎,当然用户也可以选择JaCoCo引擎。用户也可以在这里选择覆盖率模式。Tracing{span{ mode模式会增加消耗,但测量会更精确。

 

7 运行覆盖

收集覆盖率,用户需要通过Run → Run 'MyClassTest' with Coverage或工具栏上的选项运行特定模式的测试。

 

当覆盖模式运行至少一个测试之后,IDE将会在Project工具窗口显示每个程序包、类的覆盖率数据,同时在Coverage工具窗和编辑器中也会显示。

 

8 编辑器中的覆盖率

如果用户添加另一个方法到MyClass,并运行覆盖率测MyClass,就会发现,没有被测试覆盖到的代码都将高亮显示为红色。覆盖的代码颜色则是绿色。如果一些代码是只覆盖部分,那没将显示为黄色。

本文转载自:https://jingyan.baidu.com/article/9faa72315be0ef473d28cb64.html

writeademo
粉丝 25
博文 711
码字总数 269857
作品 0
东城
私信 提问
加载中

评论(0)

Java开发工具IntelliJ IDEA单元测试和代码覆盖率图解

本文将展示如何使用IntelliJ IDEA开发单元测试和分析覆盖率。 1 创建新的项目 创建名为UnitTestingApp的Java项目。 2 创建一个类进行测试 创建一个新的类用于测试。 添加方法sayHello返回Hel...

头顶锅盖
2013/09/11
1W
0
用Gradle构建Spring Boot项目

相比起Maven的XML配置方式,Gradle提供了一套简明的DSL用于构建Java项目,使我们就像编写程序一样编写项目构建脚本。本文将从无到有创建一个用Gradle构建的Spring Boot项目,并在此过程中讲到...

asdf08442a
2018/09/28
102
0
IntelliJ IDEA简介及简单操作

IntelliJ IDEA简介 IDEA 全称IntelliJ IDEA,是用于java语言开发的集成环境(也可用于其他语言),IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、...

corele_代码改变未来
2018/08/01
0
0
对Intellij idea的几点认识

对Project和module的理解 idea的一个窗口中只能存在一个项目(Project),一个project中可以导入或创建多个模块(module),一般一个模块就是一个单独的工程。模块与模块可以没有任何关系。 ...

开源中国首席蛤蟆精
2015/08/23
0
0
IntelliJ IDEA 2017.1 EAP与异步堆栈跟踪调试器扩展

早些时候java8介绍了CompletableFuture(采用Guava’s ListenableFuture),通过Akka, Ratpack, Reactor, RxJava, Vert.x以及其它库实现反应流。虽然反应性编程能帮助我们构建高效的应用程序...

力谱宿云
2017/02/21
493
2

没有更多内容

加载失败,请刷新页面

加载更多

SQL重复记录查询的几种方法

1 查找表中多余的重复记录,重复记录是根据单个字段 1 select * from TB_MAT_BasicData12 where MATNR in ( select MATNR from TB_MAT_BasicData1 group by MATNR having count(MATNR)>1)......

osc_vvylzpqs
5分钟前
9
0
十行代码让你的单机“影分身”,分布式训练速度快到飞起

工程师:“在你辉煌的时刻,让我为你唱首歌,我的好兄弟,心里有苦你对我说。” 计算机:“哥啊,那我可就说了,我是真的苦啊,现在一个模型动辄好几亿参数,数据集也是大的吓人,兄弟我内存...

飞桨PaddlePaddle
6分钟前
9
0
mysql: The target table of the UPDATE is not updatable

目标是批量更新目标表部分字段的数据 操作内容: 1.创建临时表 drop table if exists tempTableXXX create table tempTableXXX ( TEMP_ID int not null, BM varchar(14) ) 2.把数据存入临...

osc_5g68egoj
7分钟前
8
0
java 异常链

在设计模式中有一个叫做责任链模式,该模式是将多个对象链接成一条链,客户端的请求沿着这条链传递直到被接收、处理。同样 Java 异常机制也提供了这样一条链:异常链。 我们知道每遇到一个异...

osc_0bpc54vt
8分钟前
4
0
Go语言开发的微服务框架

 Go语言开发的微服务框架有什么?   1、项目名称:Istio   项目简介:Istio是由Google、IBM和Lyft开源的微服务管理、保护和监控框架。使用istio可以很简单的创建具有负载均衡、服务间认证...

osc_aitaq37i
11分钟前
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部