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. Web前端:如何实现选择select下拉框选中跳转其他页面

    <select onchange="window.location=this.value;"><option value="a.html"&g ...

  2. cnzz友盟怎么安装网站统计代码监控网站流量

    做网站的都知道cnzz统计,它是用来统计网站流量的,可以分析网站数据,进行更好的对网站优化,下面我教大家怎么添加统计代码 工具/原料 cnzz 方法/步骤 打开百度搜索"cnzz友盟&quo ...

  3. redis常见命令使用

    这篇经验主要介绍了Redis常见用的一些操作命令.这篇例子是在windows上操作的.linux类似.写的一些基础,大神就别看了. 工具/原料   redis windows 方法/步骤   1 可以 ...

  4. 织梦CMS搭建网站必做的服务器相关安全设置

    http://help.dedecms.com/install-use/server/2011/1109/2124.html#printSource http://www.aliweihu.com/9 ...

  5. 一.初识java

    1.框架结构 2.main方法 3.转义符 public class Dome01 { public static void main(String[] args) {       //main方法, ...

  6. 安装mysql后运行.net程序出错

    安装mysql后运行.net程序出错: 出错位置:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config  出错信息:未 ...

  7. enum 操作

    body, table{font-family: 微软雅黑; font-size: 10pt} table{border-collapse: collapse; border: solid gray; ...

  8. CSS深入理解学习笔记之z-index

    1.z-index基础 z-index含义:指定了元素及其子元素的"z顺序",而"z顺序"可以决定元素的覆盖顺序.z-index值越大越在上面. z-index ...

  9. linux中操作java进程

    通过 ps -ef|grep java 来得到真正运行的线程 通过kill -9 XXXXX来杀死正在运行的线程,其中XXXXX是上面java线程的序号. 另外还有2个指令我也不熟悉,一个是cat,一 ...

  10. WebRoot 与 webContent的区别

    Web项目发布到Tomcat中. 在Eclipse中生成项目是WebContent目录 而在MyEclipse中生成的项目目录名字好像叫做WebRoot,那么如果把MyEclipse的项目导入到Ecl ...