zoukankan      html  css  js  c++  java
  • junit单元测试(keeps the bar green to keeps the code clean)

    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开头

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

  • 相关阅读:
    paip.环境设置 mybatis ibatis cfg 环境设置
    paip。java 高级特性 类默认方法,匿名方法+多方法连续调用, 常量类型
    paip. java的 函数式编程 大法
    paip.函数方法回调机制跟java php python c++的实现
    paip.配置ef_unified_filter() failed ext_filter_module mod_ext_filter.so apache 错误解决
    paip. 解决java程序不能自动退出
    Paip.声明式编程以及DSL 总结
    paip. dsl 编程语言优点以及 常见的dsl
    paip.函数式编程方法概述以及总结
    paip.jdbc 连接自动释放的测试
  • 原文地址:https://www.cnblogs.com/smq772340208/p/4734362.html
Copyright © 2011-2022 走看看