文档章节

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

头顶锅盖
 头顶锅盖
发布于 2013/09/11 15:35
字数 719
阅读 1W
收藏 15

本文将展示如何使用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,就会发现,没有被测试覆盖到的代码都将高亮显示为红色。覆盖的代码颜色则是绿色。如果一些代码是只覆盖部分,那没将显示为黄色。

》》》IntelliJ IDEA最新版下载

© 著作权归作者所有

头顶锅盖
粉丝 1
博文 25
码字总数 14223
作品 0
澳门
私信 提问
加载中

评论(0)

基于 Jenkins + JaCoCo 实现功能测试代码覆盖率统计

本文首发于:Jenkins 中文社区 使用 JaCoCo 统计功能测试代码覆盖率? 对于 JaCoCo,有所了解但又不是很熟悉。"有所了解"指的是在 CI 实践中已经使用 JaCoCo 对单元测试代码覆盖率统计:当代...

Jenkins中文社区
2019/05/22
1.3K
0
IntelliJ IDEA如何进行单元测试和代码覆盖率

IntelliJ IDEA如何进行单元测试和代码覆盖率 本文将展示如何使用IntelliJ IDEA开发单元测试和分析覆盖率。 1 创建新的项目 创建名为UnitTestingApp的Java项目。 2 创建一个类进行测试 创建一...

writeademo
2018/05/24
1.8K
0
广州大雅堂信息科技有限公司招聘Java工程师和Web前端开发人员

职务:Java软件工程师和高级Java软件工程师 人数:2人 薪酬范围:3k - 8k 任职要求(重要性递减顺序): 1. 素质: n 发自内心热爱软件开发,将软件开发视为事业而不仅是职业。 n 追求完美。...

秋水逍遥
2011/06/16
1.9K
17
敏捷开发中高质量 Java 代码开发实践

Java 项目开发过程中,由于开发人员的经验、代码风格各不相同,以及缺乏统一的标准和管理流程,往往导致整个项目的代码质量较差,难于维护,需要较大的测试投入 和周期等问题。这些问题在一个...

红薯
2010/02/13
4.4K
10
用Gradle构建Spring Boot项目

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

asdf08442a
2018/09/28
88
0

没有更多内容

加载失败,请刷新页面

加载更多

gem install:无法构建gem native扩展(找不到头文件)

我正在使用Fedora 14,我安装并运行了MySQL和MySQL服务器5.1.42。 现在我尝试以root用户身份执行此操作: gem install mysql 但我得到这个错误: Building native extensions. This could ...

技术盛宴
27分钟前
51
0
就8张图片带你搞清楚JS的原型链

JS(JavaScript)是目前互联网开发中十分重要的一门编程语言,他承载着网页、手机应用程序、硬件程序、微信、微信小程序中的各种特效及处理逻辑功能。

涂老师
30分钟前
28
0
如何在Mac和Windows PC之间无线共享文件

有时候,我需要在Mac和PC之间无线共享文件。由于并非所有人都在使用macOS,因此无论是在办公室还是在家里,这种情况都会发生。尽管并非一帆风顺,但有一种无需任何第三方应用程序即可弥合差距...

mac小叮当
31分钟前
69
0
tp5事务操作

使用事务处理的话,需要数据库引擎支持事务处理。比如 MySQL 的 MyISAM 不支持事务处理,需要使用 InnoDB 引擎。 使用 transaction 方法操作数据库事务,当发生异常会自动回滚,例如: 自动控...

owenzhang24
31分钟前
64
0
tomcat 内存溢出 org.apache.tomcat.util.net.NioEndpoint$Acceptor.run

解决资料: https://www.cnblogs.com/heyongboke/p/9806396.html https://www.cnblogs.com/guoguochong/p/10641615.html 2020-02-12 23:55:09 INFO ShakedownTestRespHandler:92 - 打印实时日......

zaolonglei
40分钟前
72
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部