白盒测试笔记之:Junit 单元测试以及测试覆盖率
单元测试:
单元测试是从代码层面验证代码的正确性。
一般考虑接口中的数据结构是否正确,变量的临界条件,如空字符串,空集合等。
Junit入门
参考:
Junit 入门教程:
https://www.cnblogs.com/ysocean/p/6889906.html
通过这个案例,应能直观了解到junit是干嘛的,并能自己跑一个实例了。
这个案例也说清楚了做单元测试是不是一定要用junit了。Junit给我们提供了一个非常方便的单元测试框架。
单元测试覆盖率
跑单元测试的时候,还需要确保每一行代码,每一个分支都经过测试,那么就需要观察代码测试覆盖率。
代码覆盖率高不能说明代码质量高,但代码覆盖率低,说明代码可能有废弃代码,代码逻辑可能关系混乱。
一般要求90%或95%以上。
Eclipse+Junit可以直接观察简单的代码覆盖率,在运行的时候,选择Coverage As即可

参考:
https://blog.csdn.net/qq_19246031/article/details/82949399
可以看到效果如下:

结果说明如下:
Coverage: 代码测试覆盖率
Covered Instructions:覆盖到的指令行
Missed Instructions:没覆盖的指令行
Total Instructions:总指令行数
当然,这个结果还可以导出html文件。

Lines:代码行数
Cxty:判断数
Methods: 函数个数
Classes:类的个数
其它测试覆盖率工具:
其它的一些测试覆盖率工具,后续再了解。
白盒测试笔记之:Junit 单元测试以及测试覆盖率的更多相关文章
- spring && Cobertura && maven &&junit 单元测试以及测试覆盖率
1. 目的: junit 单元测试,Cobertura 测试覆盖率报告 项目目录结构 2. maven 配置 <project xmlns= ...
- 白盒测试笔记之:testng 单元测试
前言 前一篇文章我们简单了解了下单元测试的概念以及使用junit进行入门了. 但想更好做自动化测试,还是得了解下testng,毕竟,作为一名技术人,NG(下一代)的测试框架总得了解与跟进. testn ...
- springboot利用mock进行junit单元测试,测试controller
1 spring-boot-starter-test内置mockito,添加pom依赖 <dependency> <groupId>org.springframework.b ...
- junit 单元测试 - 参数化测试
junit4.x版本需要引入如下jar包: hamcrest-core-1.3.jar junit-4.12-beta-3.jar 新建一个计算器类,如下: package com.pt; publi ...
- 使用Cobertura统计JUnit测试覆盖率
这是一个JavaProject,关于Cobertura的用法详见代码注释 首先是应用代码(即被测试的代码) package com.jadyer.service; public class Calcu ...
- Junit单元测试、反射、注解
Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. * Junit使用:白盒测试 * 步 ...
- Junit单元测试&反射&注解
内容索引 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关 ...
- Myeclipse中进行JUnit单元测试
最近学习了在myeclipse中进行单元测试,写点东西总结总结. JUnit单元测试: 测试对象为一个类中的方法. juint不是javase中的部分,所以必须导入jar包,但是myeclipse自带 ...
- maven插件之maven-surefire-plugin,junit单元测试报告和sonar测试覆盖率的整合说明
POM中配置的如下: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId> ...
随机推荐
- BSGS 扩展大步小步法解决离散对数问题 (BZOJ 3239: Discrete Logging// 2480: Spoj3105 Mod)
我先转为敬? orz% miskcoo 贴板子 BZOJ 3239: Discrete Logging//2480: Spoj3105 Mod(两道题输入不同,我这里只贴了3239的代码) CODE ...
- JavaStript基础 —— JavaStript语法
JavaStript 简介 JavaScript诞生于 1995年.当然,它的主要目的是处理以前由服务器端语言负责的一些输入验证操作. 如今,JavaStript的用途早就不再局限于简单的数据验证,而 ...
- c++几个通用工具
Pairs(对组) 1.class pair可以将两个值视为一个单元,C++标准程序库内多处使用这个class.尤其容器类别map和multimap,就是使用pairs来管理其键值/实值(key/va ...
- Tishreen-CPC 2018 G. Colors Overflow(分块)
Problem G. Colors Overflow Input file: standard input Output file: standard output Balloon Color: Da ...
- hbase hbck
Number of Tables: 7Number of live region servers: 3Number of dead region servers: 0Number of empty R ...
- [题解] [CF451E] Devu and Flowers
题面 题解 就是一个求\(\sum_{i= 1}^{n}x _ i = m\)的不重复多重集的个数, 我们可以由容斥原理得到: \[ ans = C_{n + m - 1}^{n - 1} - \su ...
- 解决Vue刷新一瞬间出现样式未加载完或者出现Vue代码问题
解决Vue刷新一瞬间出现样式未加载完或者出现Vue代码问题: <style> [v-cloak]{ display: none; } </style> <div id=& ...
- C++的重载(overload)与重写(override)
C++的重载(overload)与重写(override) 成员函数被重载的特征:(同一层级类中来实现)(1)相同的范围(在同一个类中):(2)函数名字相同:名称和返回类型相同(3)参数不同:(4)v ...
- unity的Tilemap学习笔记
1,如果要实现当tilemap里面的格子与其他的对象发生碰撞后,消除碰撞的那个格子,使用如下代码. void OnCollisionEnter2D(Collision2D collision) { V ...
- JS中的原型链和原型的认识
这篇文章主要是学习一下JavaScript中的难点------原型和原型链 自定义一个对象 我们学习一门编程语言,必然要使用它完成一些特定的功能,而面向对象的语言因为符合人类的认知规律,在这方面做得很 ...