error是程序错误,failure是测试错误。

  junit概要: JUnit是由 Erich Gamma (设计模式的创始人)和 Kent Beck (敏捷开发的创始人之一)编写的一个回归测试框架(regression testing framework),供Java开发人员编写单元测试之用。

  测试对于保证软件开发质量有着非常重要的作用,单元测试更是必不可少,JUnit是一个非常强大的单元测试包,可以对一个/多个类的单个/多个方法测试,还可以将不同的TestCase组合成TestSuit,使测试任务自动化。Eclipse同样集成了JUnit,可以非常方便地编写TestCase。
  Junit测试是程序员测试,即所谓白盒测试,因为程序员知道被测试的软件如何(How)完成功能和完成什么样(What)的功能。
  Junit本身是围绕着两个设计模式来设计的:命令模式和集成模式. 
 
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单元测试(keeps the bar green to keeps the code clean)的更多相关文章

  1. 单元测试JUnit 4 (一)——keeps the bar green to keeps the code clean

    1. 导读 Junit是一个可编写重复测试的简单框架,是基于Xunit架构的单元测试框架的实例.Junit4最大的改进是大量使用注解(元数据),很多实际执行过程都在Junit的后台做完了,而且写tes ...

  2. 单元测试JUnit 4(二)——keeps the bar green to keeps the code clean

    1.Failure和Error Failure是指测试失败  Error是指测试程序本身出错  (int a=10/0) 2.JUnit常用注解 2.1 @RunWith: 可以更改测试运行器(继承o ...

  3. keep the bar green to keep the code clean——Junit详解(一)

    测试用例 单元测试时每个开发人员必需掌握的,是保证开发过程中代码的准确性,无误性,保证代码质量.敏捷开发模式是先根据用户需求写测试用例,考虑基本所有用户所需要的情况,再写实现方法.单元测试有很多种,当 ...

  4. keep the bar green to keep the code clean——Junit详解(二)

    测试用例&测试套件 举个栗子: 编写MyStack类模拟栈,并对其进行测试用例编写测试: 编写文件删除方法,并对其删除测试. 不再做演示,戳此获取代码 MyStack类: public cla ...

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

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

  6. 解决Junit单元测试 找不到类 ----指定Java Build Path

    做junit 单元测试时,发现怎么执行都是以前编译过得代码. 最后找到原因了, src/test/java 编译完的.class路径是 Default output folder Default ou ...

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

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

  8. Java 工具 JUnit单元测试

    Java 工具 JUnit单元测试 @author ixenos 1.1.   JUnit单元测试框架的基本使用 一.搭建环境: 导入junit.jar包(junit4) 二.写测试类: 0,一般一个 ...

  9. Spring框架中整合JUnit单元测试的方法

    一. 步骤: 1. 拷贝jar包: 1. JUnit-4.9.jar和spring-test-4.2.4.RELEASE.jar ; 2. 替换原来的main函数: 1. 在测试类上使用注解方式替换: ...

随机推荐

  1. http调接口

    private static String doGetResult(String urlStr, Map<String, String> params) throws Exception ...

  2. JAVA内存管理

    java与c++之间有一堵由内存动态分配和垃圾收集技术所围成的高墙.墙外面的人想进去,墙里面的人想出去. 1.java内存分布 程序计数器 栈(局部变量.操作数.动态链接.方法出口) 每一个方法从调用 ...

  3. Xcode快捷键

    1. 文件 CMD + N: 新文件 CMD + SHIFT + N: 新项目 CMD + O: 打开 CMD + S: 保存 CMD + SHIFT + S: 另存为 CMD + W: 关闭窗口 C ...

  4. textbox只能输入数字或中文的常用正则表达式和验证方法

    验证数字的正则表达式集 验证数字:^[0-9]*$ 验证n位的数字:^\d{n}$ 验证至少n位数字:^\d{n,}$ 验证m-n位的数字:^\d{m,n}$ 验证零和非零开头的数字:^(0|[1-9 ...

  5. delphi Syntax check、 build、 run、 compile的区别

    delphi Syntax check. build.  run. compile的区别 Build是从新编译所有和生成exe有关的文件,无论.pas文件是否修改过,它都会重新生成新的.dcu,并从新 ...

  6. 黑马程序员——OC基础 三种特性之封装

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (以下内容是对黑马苹果入学视频的个人知识点总结) 三种特性之一封装 (一)set方法和get方法 1)  set方法 1&g ...

  7. android小技巧(一)

      1,调web浏览器 Uri myBlogUri = Uri.parse("http://xxxxx.com"); returnIt = new Intent(Intent.AC ...

  8. CSS之transition过渡练习

    代码: <!DOCTYPE html><html><head> <title>transition</title> <meta cha ...

  9. c#缓存介绍(转)

    缓存主要是为了提高数据的读取速度.因为服务器和应用客户端之间存在着流量的瓶颈,所以读取大容量数据时,使用缓存来直接为客户端服务,可以减少客户端与服务器端的数据交互,从而大大提高程序的性能. 本章从缓存 ...

  10. 4 多表代替密码之Hill 密码 2实现

    该解密方法的KEY 不是一个数或者一段字符串,而是一个矩阵, 比如有个3*3的KEY: 那么如果我们要加密一个长度为N的字符串, 那么把N除以3,分成M个3个字母组成的小段, 对每个小段尽心加密: 1 ...