单元测试:

单元测试是从代码层面验证代码的正确性。

一般考虑接口中的数据结构是否正确,变量的临界条件,如空字符串,空集合等。

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 单元测试以及测试覆盖率的更多相关文章

  1. spring && Cobertura && maven &&junit 单元测试以及测试覆盖率

    1. 目的:       junit 单元测试,Cobertura   测试覆盖率报告       项目目录结构          2. maven 配置     <project xmlns= ...

  2. 白盒测试笔记之:testng 单元测试

    前言 前一篇文章我们简单了解了下单元测试的概念以及使用junit进行入门了. 但想更好做自动化测试,还是得了解下testng,毕竟,作为一名技术人,NG(下一代)的测试框架总得了解与跟进. testn ...

  3. springboot利用mock进行junit单元测试,测试controller

    1  spring-boot-starter-test内置mockito,添加pom依赖 <dependency> <groupId>org.springframework.b ...

  4. junit 单元测试 - 参数化测试

    junit4.x版本需要引入如下jar包: hamcrest-core-1.3.jar junit-4.12-beta-3.jar 新建一个计算器类,如下: package com.pt; publi ...

  5. 使用Cobertura统计JUnit测试覆盖率

    这是一个JavaProject,关于Cobertura的用法详见代码注释 首先是应用代码(即被测试的代码) package com.jadyer.service; public class Calcu ...

  6. Junit单元测试、反射、注解

    Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关注程序具体的执行流程. * Junit使用:白盒测试 * 步 ...

  7. Junit单元测试&反射&注解

    内容索引 1. Junit单元测试 2. 反射 3. 注解 Junit单元测试: * 测试分类: 1. 黑盒测试:不需要写代码,给输入值,看程序是否能够输出期望的值. 2. 白盒测试:需要写代码的.关 ...

  8. Myeclipse中进行JUnit单元测试

    最近学习了在myeclipse中进行单元测试,写点东西总结总结. JUnit单元测试: 测试对象为一个类中的方法. juint不是javase中的部分,所以必须导入jar包,但是myeclipse自带 ...

  9. maven插件之maven-surefire-plugin,junit单元测试报告和sonar测试覆盖率的整合说明

    POM中配置的如下: <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId> ...

随机推荐

  1. 【代码备份】ORACLE数据库表同步DBLINK

    ---创建目标数据库连接DBLINKcreate database link testdblink connect to xxx identified by "xxx"using ...

  2. mysql router使用配置

    mysql router使用配置 参考资料: https://www.jianshu.com/p/7fc8d77bea59 一.架构图 介绍: MySQL Router是处于应用client和dbse ...

  3. [Functional Programming] Church Encodings: Numberals

    const log = console.log; // zero :: &fa.a const zero = f => x => x; // zero is F // once : ...

  4. 题解 【NOIP2010】关押罪犯

    [NOIP2010]关押罪犯 Description S城现有两座监狱,一共关押着N名罪犯,编号分别为1~N.他们之间的关系自然也极不和谐.很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突 ...

  5. ipvsadm命令用法

    ipvsadm命令选项 -A                         添加虚拟服务器 -E                         修改虚拟服务器 -D                 ...

  6. 移动端rem使用及理解

    先上代码 window.onload = function(){ getRem(720,100) }; window.onresize = function(){ getRem(720,100) }; ...

  7. 解决xshell无法连接virtualbox中的虚拟机(Ubuntu18.04)的问题

    遇到这个问题第一反应是是否安装相应的组件: sudo apt-get install openssh-server 开启防火墙端口 firewall-cmd --zone=/tcp --permane ...

  8. flask框架(十): 闪现

    一:闪现flash基本用法 # -*- coding: utf-8 -*- # @Author : Felix Wang # @time : 2018/7/5 9:34 from flask impo ...

  9. Android NDK加载SD卡中的so

    最近公司框架刚移植完成,由于框架程序要调用子程序,每个子程序都是一个so文件,有好几百个,把所有的so和apk打包不现实,及时可以升级维护也很麻烦.所以需要放SD卡中.考虑两种方式 1 放到设备中的 ...

  10. ARTS打卡计划第一周

    Algorithms: https://leetcode-cn.com/problems/two-sum/ Review: https://www.infoq.cn/article/EafgGJEtq ...