JUnit单元测试基础要点

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

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

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

4.创建测试类的步骤:

1)在工程下面创建一个名为 test 的 Source Folder ,这个源程序文件夹和 src文件夹的阶级是相等的

2)测试类和目标类的包名要相同,这样的好处是测试类就不要import导入目标类的源码

3)测试类的命名规则:假设目标类的名字是 Calculator,则创建的测试类应命名为 CalculatorTest 或者 TestCalculator

5.JUnit测试框架目前大体分为两种(JUnit 3.8 和 JUnit 4.x)

———————————— JUnit 3.8 ———————————————

涉及到的包一般是 import junit.framework.*

6.在 JUnit 3.8 中,测试类要继承TestCast类,而TestCast类又继承于Assert类,测试方法需满足如下原则:

1)修饰符设为 public

2)返回类型 void

3)没有方法参数

4)方法名称必须以test开头

7.不能依赖于测试方法的执行顺序

8.setUp方法和testDown方法都是TestCase类的方法

1)setUp方法是在执行每个测试方法之前执行的

2)testDown方法是在执行每个测试方法之后执行的

———————————— JUnit 4 ———————————————

涉及到的包是 import org.junit.*

9)在junit 4 当中测试类无需继承于 TestCase类,测试方法的名字也无需以test开头,主要以注解的方式来定义,只要在测试方法加上@Test就可以进行测试,但有些原则还是要以junit3 的风格来设计,比如测试方法以test开头,习惯问题吧,

10)

  • @Test :定义一个测试方法的标志
  • @Test(timeout=1000) :设置超时时间,如果测试时间超过了你定义的timeout,测试失败
  • @Test(expected) : 申明出会发生的异常,比如 @Test(expected = Exception.class)
  • @Before : 跟junit 3.8 上的setUp() 方法同样的效果,方法名最好和setUp()一样,但不强求,在每一个测试方法之前被执行
  • @After : 跟junit 3.8 上的tearDown() 方法同样的效果,方法名最好和tearDown()一样,但不强求,在每一个测试方法之后被执行
  • @BeforeClass : 被该注解申明的方法,功能是:在所有的测试方法之前执行,只执行一次
  • @AfterClass : 被该注解申明的方法,功能是:在所有的测试方法之后执行,只执行一次
  • @Ignore :让 测试方法 或 测试类 不被执行,让其失去测试的功能

 小结:

如果一个测试类里有8个测试方法,那么每个测试方法都需要创建一个测试类对象,每一个对象只会调用一个测试方法(为了符合命令模式的约定),总共创建了10个测试类对象,

在添加测试方法之前,需要对测试方法做一些判断:

1)修饰符设为 public

2)返回类型 void

3)没有方法参数

4)方法名称必须以test开头

如果满足以上要求,则添加到集合中作为测试方法来执行

JUnit单元测试基础要点的更多相关文章

  1. junit单元测试(keeps the bar green to keeps the code clean)

    error是程序错误,failure是测试错误. junit概要: JUnit是由 Erich Gamma (设计模式的创始人)和 Kent Beck (敏捷开发的创始人之一)编写的一个回归测试框架( ...

  2. 基础-Junit单元测试_反射_注解

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

  3. day1 java基础回顾-Junit单元测试

    Junit单元测试框架的基本使用 一.搭建环境: 导入junit.jar包(junit4) 二.写测试类: 0,一般一个类对应一个测试类. 1,测试类与被测试类最好是放到同一个包中(可以是不同的源文件 ...

  4. java基础第11期——Stream流、方法引用、junit单元测试

    1.Stream流 Stream流与io流是不同的东西,用于解决集合类库已有的弊端, 1.1 获取Stream流: Collection集合的Stream方法,注意Map集合要经过转化 default ...

  5. JUnit单元测试框架的使用

    http://blog.csdn.net/mao520741111/article/details/51462215 原文地址 http://www.open-open.com/lib/view/op ...

  6. Spring完全基于Java配置和集成Junit单元测试

    要点: 配置继承WebApplicationInitializer的类作为启动类,相当于配置web.xml文件 使用@Configuration注解一个类,在类中的方式使用@Bean注解,则表名该方法 ...

  7. JUnit单元测试教程(翻译自Java Code Geeks)

    JUnit单元测试教程--终极指南 JUnit单元测试教程终极指南 说明 单元测试简介 1 什么是单元测试 2 测试覆盖 3 Java中的单元测试 JUnit简介 1 使用Eclipse实现简单JUn ...

  8. Junit单元测试随笔

    Junit单元测试随笔 Mooctest 使用心得: Mooctest IDE非常适合新手使用,相比于Eclipse,他免去了配置环境的麻烦.eclipse中 Junit 编写代码经验总结 刚开始写测 ...

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

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

随机推荐

  1. QTREEⅠ SPOJ

    树剖模板,注意把边化为点后要查到y的儿子. #include<bits/stdc++.h> using namespace std; ; int f[N],bel[N],w[N],id[N ...

  2. luoguP3250 [HNOI2016]网络 树链剖分 + 堆

    机房某大佬告诉我,一条链在全局线段树中的区间最多有$log$段 因此同样的,代表不在这条链上的区间同样只有$log$段 对这$log$段区间进行维护即可 为了能够删除,在线段树的每个节点暴力维护一个堆 ...

  3. [BZOJ3203][SDOI2013]保护出题人(凸包+三分)

    https://www.cnblogs.com/Skyminer/p/6435544.html 先不要急于转化成几何模型,先把式子化到底再对应到几何图形中去. #include<cstdio&g ...

  4. ARC 101 C - Candles

    题面在这里! 显然直接枚举左端点(右端点)就OK啦. #include<cstdio> #include<cstdlib> #include<algorithm> ...

  5. 2017-2018-1 JAVA实验站 冲刺 day03

    2017-2018-1 JAVA实验站 冲刺 day03 各个成员今日完成的任务 小组成员 今日工作 完成进度 张韵琪 写博客.进行工作总结 100% 齐力锋 部分按钮图片.对按钮图片进行ps 100 ...

  6. Linux知识(3)----常用快捷键和命令

    这里收集整理了一些常用的命令. 1.常用快捷键 这个链接介绍很全:http://blog.sina.com.cn/s/blog_8cb5c0e501012l7x.html 1. Ctrl + W: 关 ...

  7. linux基础命令学习 (十一)系统管理命令

    stat              显示指定文件的详细信息,比ls更详细 who               显示在线登陆用户 whoami          显示当前操作用户 hostname   ...

  8. mp4网页播放代码,有声音无图像的解决办法~

    mp4网页播放代码,有声音无图像的解决办法~     关于网页播放mp4格式的视频,找了一些插件,这里推荐一下video.js 官方网址:http://www.videojs.com/ github ...

  9. Linux下ip route、ip rule、iptables的关系(转)

    1.基础知识 1.1 路由 (Routing) 1.1.1 路由策略 (使用 ip rule 命令操作路由策略数据库) 基于策略的路由比传统路由在功能上更强大,使用更灵活,它使网络管理员不仅能够根据目 ...

  10. 利用站点ip引导提高站点权重的可行方案

    如题,利用站点每天高数额的ip訪问量来提高站点权重,首先在谈论这个话题之前,我举个样例.我们知道想要一个站点权重非常高,首先它站点本身的内容一定是有价值的,而且受大众欢迎的,人们会常常訪问这个站点来寻 ...