单元测试:

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

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

​

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. uniapp在在页面跳转时,若URL太长的字符串会导致数据传递失败

    url有长度限制,太长的字符串会传递失败,可使用窗体通信.全局变量,或encodeURIComponent等多种方式解决,如下为encodeURIComponent示例的解决方法. <navig ...

  2. ant-design-vue 修改组件样式

    /deep/ .ant-input { border-radius: 50px; }

  3. 移动端rem使用及理解

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

  4. Jmeter的代理和cookie/session/Token令牌认证

    Jmeter的代理服务器 1.启动Jmeter: 2.“测试计划”中添加“线程组”: 3.“工作台”中添加“HTTP代理服务器”: 4.配置代理服务器:Global Settings下面的端口配置:9 ...

  5. jquery file选择器 语法

    jquery file选择器 语法 作用::image 选择器选取类型为 file 的 <input> 元素.大理石平台检定规程 语法:$(":file") jquer ...

  6. 2019牛客暑期多校训练营(第二场)E 线段树维护dp转移矩阵

    题意 给一个\(n\times m\)的01矩阵,1代表有墙,否则没有,每一步可以从\(b[i][j]\)走到\(b[i+1][j]\),\(b[i][j-1]\),\(b[i][j+1]\),有两种 ...

  7. java中MD5函数

    import java.security.MessageDigest; import java.security.NoSuchAlgorithmException; public class MD5U ...

  8. bootstrap列表组的使用

    <ul class="list-group"> <li class="list-group-item"> <div class=& ...

  9. bzoj4321

    queue2 HYSBZ - 4321 n 个沙茶,被编号 1~n.排完队之后,每个沙茶希望,自己的相邻的两 人只要无一个人的编号和自己的编号相差为 1(+1 或-1)就行:  现在想知道,存在多少方 ...

  10. JVM系列大纲

    本系列主要分析JVM主要功能要点,初步大纲如下,会根据写作情况进行细化,目的在于梳理JVM的知识体系,具体分析文章会陆续发布. [JVM]类加载机制(1) [JVM]Java内存区域(2) [JVM] ...