JUnit单元简介:
     JUnit ----是一个开发源码的java测试框架,用于编写和运行可重复的测试,它是用于单元测试框架体系xUnit的一个实例, 用于java语言,主要用于白盒测试,回归测试 ,单元测试是最小粒度的测试,它需要知道内部程序设计和编码的细节  
 
   Eclipse自带了一个JUnit的插件,不用安装就可以在你的项目中开始测试相关的类,并且可以调试你的测试用例和被测试类。
 
    单元测试的针对对象:A.面向过程的软件开发针对过程
                                  B. 面向对象的软件开发针对过程

JUnit的好处和JUnit单元测试编写原则

1. 好处:

A、可以使测试代码与产品代码分开。

B、针对某一个类的测试代码通过较少的改动便可以应用于另一个类的测试。

C、易于集成到测试人员的构建过程中,JUnit和Ant的结合可以实施增量开发。

D、JUnit是公开源代码的,可以进行二次开发。

E、可以方便地对JUnit进行扩展。

2. 编写原则:

A、是简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写

B、使测试单元保持持久性

C、可以用既有的测试编写相关的测试

D、修饰符设为 public

E、返回类型 void

F、没有方法参数

G、方法名称必须以test开头

H、类名写xxxTest.java

3.JUnit的特征:

A、使用断言方法判断期望值与实际值的差异,返回Boolean值

B、测试驱动设备使用共同的初始化变量或者实例

C、测试包结构便于组织和集成运行

4.junit4.x

(1)、使用junit4.x版本进行单元测试时,不用测试类继承TestCase父类,因为,junit4.x全面引入了Annotation来执行我们编写的测试

    (2)、junit4.x版本,引用了注解的方式,进行单元测试;

           (3)、junit4.x版本我们常用的注解:
            A、@Before 注解:与junit3.x中的setUp()方法功能一样,在每个测试方法之前执行;
              B、@After 注解:与junit3.x中的tearDown()方法功能一样,在每个测试方法之后执行;
              C、@BeforeClass 注解:在所有方法执行之前执行;
              D、@AfterClass 注解:在所有方法执行之后执行;
              E、@Test(timeout = xxx) 注解:设置当前测试方法在一定时间内运行完,否则返回错误;
              F、@Test(expected = Exception.class) 注解:设置被测试的方法是否有异常抛出。抛出异常类型为:Exception.class;
              G、@Ignore 注解:注释掉一个测试方法或一个类,被注释的方法或类,不会被执行。
 

5. JUnit单元测试基础要点

1.JUnit是一种测试代码的框架,测试的目的是:保证代码没错,而不是保证代码正确。

  2.测试类一般不要和目标类放在一起,但编译成的class文件是放在一起的。

3.单元测试主要是来测试程序的结果和自己期望的值是否相等

6.断言;assert           (期望值与测试值是否相同)

1.assertEquals();8个方法重载,用于查看对象中是否存在期望值,与字符串比较equals()类似。

2.assertFalse()和assertTrue();2个重载,用于测试返回值为boolean类型。

3.assertSame()和assertNotSame();2个重载,用于比较两个对象的引用是否相等和不相等,类似==和!=比较对象。

4.assertNull()和assertNotNull();2个重载,用于查看对象是否为空和不为空。

5.fail用于抛出错误,终止测试。

浅讲JUnit的更多相关文章

  1. day4-python基础-小数据池以及深浅copy浅讲

    今天的目录是 1.小数据池 2.深浅copy 正文开始 1.小数据池 在说明今天的内容前,先说明一个在今天重复用到的一个知识点 ###比较’=’俩边的数据是否完全相同,以及判断一个对象的内存地址是否完 ...

  2. DNS与DNS劫持原理、IP、域名、服务器访问浅讲

    我们都知道,平常我们所访问的网站,都是与服务器进行数据交互的.但是,浏览器和服务器是分处于不同的计算机上的,那他们是怎样进行通信的呢?今天,我们就来粗浅地聊一聊.不涉及很深的技术原理,只讲大概的流程. ...

  3. 浅讲.Net 6之ConfigurationManager

    介绍 本节为大家带来.NET 6新增的ConfigurationManager,很多人好奇为啥要讲这个,读取加载配置信息都随手就来了,我们往下看一下. 翻译:这添加了 ASP.NET Core 的新 ...

  4. 浅讲.Net 6 之 WebApplicationBuilder

    介绍 .Net 6为我们带来的一种全新的引导程序启动的方式.与之前的拆分成Program.cs和Startup不同,整个引导启动代码都在Program.cs中. WebApplicationBuild ...

  5. 浅讲EF高级用法之自定义函数

    介绍 好久没给大家更新文章了,前2个月因家庭原因回到青岛,比较忙所以没有什么时间给大家更新知识分享,这2个月在和同事一起做项目,发现了很多好意思的东西拿出来给大家讲一讲. 正文 大家先来下面这幅图,这 ...

  6. JavaScript : 浅讲ajax

    1.ajax入门案例 1.1 搭建Web环境 ajax对于各位来说,应该都不陌生,正因为ajax的产生,导致前台页面和服务器之间的数据传输变得非常容易,同时还可以实现页面的局部刷新.通过在后台与服务器 ...

  7. AC自动机模板浅讲

    Description 给你N个单词,然后给定一个字符串,问一共有多少单词在这个字符串中出现过(输入相同的字符串算不同的单词,同一个单词重复出现只计一次). Input 第一行一个整数N,表示给定单词 ...

  8. 浅讲ajax

    1.ajax入门案例 1.1 搭建Web环境 ajax对于各位来说,应该都不陌生,正因为ajax的产生,导致前台页面和服务器之间的数据传输变得非常容易,同时还可以实现页面的局部刷新.通过在后台与服务器 ...

  9. 浅讲.Net 6 并与之前版本写法对比

    介绍 昨天vs2022正式版已经推出了,估计很多人已经下载并开始创建.Net 6 开始尝鲜了, 本节我简要的给大家介绍一下.Net 6的一些改动. 正文 本次.Net6带来最明显的变化就是: 采用顶级 ...

随机推荐

  1. iOS微信自动抢红包插件(支持后台和锁屏下抢红包)

    前言:本文主要讲述使用hook方式实现红包插件,涉及到tweak相关知识,如果你不想了解具体实现细节可直接到我的Github地址参考安装(包含越狱和非越狱两种方法)   转眼间2017即将过去,又到了 ...

  2. ngRx 官方示例分析 - 6 - Effect

    @ngrx/effect 前面我们提到,在 Book 的 reducer 中,并没有 Search 这个 Action 的处理,由于它需要发出一个异步的请求,等到请求返回前端,我们需要根据返回的结果来 ...

  3. Java Reflection(getXXX和getDeclaredXXX)

    package com.sunchao.reflection; public class Person { private int age ; private String name; public ...

  4. C#编译成以管理员身份运行程序

    转载自:http://www.cnblogs.com/babycool/p/3569183.html 在使用winform程序获取调用cmd命令提示符时,如果是win7以上的操作系统,会需要必须以管理 ...

  5. Shell中脚本变量的作用域

    原文地址:http://blog.csdn.net/abc86319253/article/details/46341839    在shell中定义函数可以使代码模块化,便于复用代码.不过脚本本身的 ...

  6. mysq开启慢查询

    1 将未建立索引的sql放到慢查询日志中 查看 log_queries_not_using_indexes 是否为on show variables like 'log%'; 将 log_querie ...

  7. 爬取西刺网代理ip,并把其存放mysql数据库

    需求: 获取西刺网代理ip信息,包括ip地址.端口号.ip类型 西刺网:http://www.xicidaili.com/nn/ 那,如何解决这个问题? 分析页面结构和url设计得知: 数据都在本页面 ...

  8. 1.NET是什么

  9. Linux磁盘热插拔命令

    对于支持热插拔SCSI技术的服务器,SCSI硬盘和磁带机可以在Linux下实现在线添加和移除,有两种方法实现,先说麻烦的 具体方法如下: 一. 添加或者删除硬盘/磁带机: # echo "s ...

  10. 如何修改nexus的端口号

    1. Maven仓库:放置所有JAR文件(WAR,ZIP,POM等等)的地方,所有Maven项目可以从同一个Maven仓库中获取自己所需要的依赖JAR,这节省了磁盘资源. 简言之,Maven仓库能帮助 ...