`

Junit4入门

阅读更多
1、 配置环境
    一般的eclipse都是自带Junit的jar文件的, 选择java build path—>选择

Libraries—>添加相应版本的junit即可。

2、 Junit使用Demo
   
    NameFormat类
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class NameFormat {


/**
* 名称格式化(全部使用小写字母,单词区分使用分隔符"-")
* @param str
* @return
* Example:
* Input:HumanInformation * Output:Human-information
*/
public String nameFormateOne(String str){
Pattern pattern = Pattern.compile("[A-Z]");
Matcher matcher = pattern.matcher(str);
StringBuffer sb = new StringBuffer();
if(matcher.find()){
matcher.appendReplacement(sb, "-"+matcher.group());
}
return matcher.appendTail(sb).toString().toLowerCase();
}

  public static void main(String[] args) {
    String result =  new NameFormat().nameFormateOne("Vieri");
    System.out.println(result);

}
}

   对应的测试类TestNameFormat

   import static org.junit.Assert.assertEquals;//note 1

import org.junit.BeforeClass;
import org.junit.Test;

import com.apusic.junit.NameFormat;

public class TestNameFormat {

private static NameFormat nf = null;
//测试前初始化工作
@BeforeClass// note 2
public static void initEnvironment(){//note 3
nf = new NameFormat();
System.out.println("annonatation: Before Class is excutor

once");
}

//input: null
@Test //note 4
public void nameFormateOneNull(){
String target = null;
String result = nf.nameFormateOne(target);
assertEquals(null,result);//note 5
System.out.println("Input null is tested");
}

//input:empty
@Test
public void nameFormateOneEmpty(){
String target = "";
String result = nf.nameFormateOne(target);
assertEquals("", result);
System.out.println("Input empty is tested");
}

@Test
public void nameFormateOneLowcase(){
String target = "humanInfo";
String result = nf.nameFormateOne(target);
assertEquals("human-info", result);
System.out.println("lowcase is tested");
}

@Test
public void nameFormateOneMajuscule(){
String target = "HumanInfo";
String result = nf.nameFormateOne(target);
assertEquals("human-info", result);
System.out.println("Input emajuscule is tested");
}
}

3、 测试用例解读
    note1  由于没有像Junit3一样继承TestCase,所以必须导入所有静态断言
    note2  被annotation”@BeforeClass”修饰的方法,在测试的最开始被执行一次,一般用来初始化整个测试需要的公共资源(比如数据库连接等),与之对应的annotation有“@AfterClass”。
    note3  annotation”@BeforeClass”只能修饰public static void方法
    note4  被annotation”@Test”修饰的方法,JUnit4测试框架会自动运行
    note5  assertEquals()方法为junit的断言,该方法判断2个参数是否相等,如果不相等,则出发断言。

4、 运行测试用例
     run as junit test 就可以了。 分析测试运行结果

5、 junit4扩展
    A、@Test(timeout,expected)
被该annotation修饰的方法,在JUnit中将会自动被执行。该annotation只能修饰public void方法。参数timeout:规定该方法执行的时间,如果设置该参数,则被修饰方法必须在该时间内执行结束,否则抛出异常。
       参数expected:规定该方法抛出异常,如果设置该参数,则被修饰方法在抛出该参数规定的异常的情况下才可能通过测试,否则测试失败。
   B、 Before/After/BeforeClass/AfterClass/

6、 常用断言介绍
A、assertEquals([String message],Object target,Object result)
target与result不相等,中断测试方法,输出message
B、assertTrue/False([String message],Boolean result)
Result为 false/true,中断测试方法,输出message
C、assertNotNull/Null([String message],Obejct result
Retult= = null/result!=null,中断测试方法,输出message
D、assertSame/NotSame(Object target,Object result)
Traget与result 不指向/指向 同一内存地址(实例),中断测试方法,输出message
F、fail([String message])
中断测试方法,输出message

注释:JUNIT4详细的API参见http://junit.sourceforge.net/javadoc_40/index.html

——————————————关于Matcher类的group方法————————————
   看API觉得着实费解,因此特意动手做了一下验证试验, 结果如下:
   // create a Pattern
Pattern p = Pattern.compile("Bond");

// create a Matcher and use the Matcher.group() method
String candidateString = "My name is Bond. James Bond.";
Matcher matcher = p.matcher(candidateString);
// extract the group
matcher.find();
System.out.println(matcher.group());
  打印输出:  Bond

   例2:
   group(0)就是用整个正则表达式进行匹配


import   java.util.regex.*;  
  class   test{  
  public   static   void   main(String[]   args){  
  Pattern   p   =   Pattern.compile("([0-9])([AD])([A-Z]*)");  
    Matcher   m   =   p.matcher("0AALSDKFJ");  
  m.matches();  
  System.out.println(m.group(0));//注意,group(0)总是返回整个匹配字串  
  System.out.println(m.group(1));  
    System.out.println(m.group(2));  
      System.out.println(m.group(3));
  }  
  }


0AALSDKFJ
0
A
ALSDKFJ
   
分享到:
评论

相关推荐

    JUnit4入门教程

    JUnit4入门教程

    Junit4入门使用介绍

    ### Junit4入门使用介绍 #### 一、简介 JUnit4是JUnit框架的第四代版本,它是Java领域中最广泛使用的单元测试框架之一。相比于之前的版本,JUnit4引入了许多新的特性和改进,使得编写和执行单元测试变得更加灵活和...

    junit4入门

    《Junit4 入门详解》 JUnit 是一个用于Java编程语言的单元测试框架,而Junit4作为其第四代版本,引入了许多新特性和改进,使得测试代码更加简洁、可读性强,大大提升了测试效率。这篇教程将带你走进Junit4的世界,...

    Junit4单元测试入门例子

    Junit4作为Java领域最常用的单元测试框架,为开发者提供了方便、高效的测试工具。本文将深入探讨如何使用Junit4对名为Calculate的类进行单元测试,包括其加减乘除四个方法。 首先,我们需要了解Junit4的基本结构和...

    JUnit入门及简单使用

    使用JUnit4时,需要注意你的JDK版本应为1.5或更高,因为JUnit4依赖于Java的新特性。 JUnit的核心特点和结构包括: 1. 断言(Assertion):用于验证测试结果是否符合预期。 2. 测试套件(Test Suite):可以组织多个...

    Junit4单元测试必备入门教程

    JUnit4单元测试必备入门教程 JUnit4概述 -------- JUnit4是JUnit框架有史以来最大的改进,其主要目标是利用Java5的Annotation特性简化测试用例的编写。Annotation是一种元数据,用于描述数据。在Java中可以用来和...

    Junit实例图解,Junit快速入门

    在Eclipse中,有两种方式添加Junit4库: 1. **添加Eclipse自带的Junit4**:进入项目属性页,选择Java Build Path,点击Add Library,接着在弹出的对话框中选择JUnit并选择相应的版本,最后点击Finish。如图2.1所示...

    junit 入门培训ppt

    本文将深入探讨JUnit入门培训的关键概念和技术。 首先,我们要理解什么是Test Driven Development(TDD),即测试驱动开发。TDD是一种软件开发方法论,它提倡在编写实际业务代码之前先编写测试。通过这种方式,...

    jUnit入门教程 jUnit教程

    【jUnit入门教程 - jUnit教程】 jUnit是一款广泛应用于Java编程语言的单元测试框架,它使得开发者能够方便地编写和执行针对代码功能的测试用例。本教程旨在为初学者提供一个jUnit的基础入门指南,帮助理解如何利用...

    Junit白盒测试学习文档

    在“JUnit4入门学习笔记.doc”这份文档中,我们可以期待找到以下关键知识点: 1. **JUnit介绍**:首先会介绍JUnit的基本概念,包括它的起源、目标以及在软件开发中的地位,以及与其它测试框架的比较。 2. **环境...

    junit4 单元测试源码

    “入门级学习材料”表明这个压缩包可能是为初学者准备的,涵盖了如何使用JUnit4框架创建和运行测试的基本步骤。Eclipse开发环境是一个流行的Java集成开发环境,它支持JUnit插件,使得在Eclipse中编写和运行JUnit测试...

    Junit入门练习代码

    本资源“Junit入门练习代码”旨在帮助初学者掌握JUnit的基本概念和使用方法,通过实践来加深理解。下面我们将深入探讨JUnit的相关知识点。 1. **JUnit简介**:JUnit是Java语言中的一个开源测试框架,由Ernst Leiss...

    junit5学习入门

    ### JUnit5学习入门知识点详解 #### 一、JUnit简介 JUnit是一个开源的Java单元测试框架,被广泛应用于软件开发中的测试驱动开发(TDD)流程之中。它支持开发者通过编写测试代码来验证软件功能是否符合预期,从而提高...

    Junit使用入门培训(初级篇)1

    JUnit 使用入门培训(初级篇)1 JUnit 是 Java 语言中最流行的单元测试框架之一,它提供了许多功能强大且灵活的测试工具,帮助开发者编写高质量的代码。本文将从基础开始,指导读者如何使用 JUnit 进行单元测试。 ...

    JUnit API和入门手册 chm

    本资源包含“JUnit API和入门手册”以及“JUnit In Action”电子书,将帮助你深入理解和掌握JUnit的核心概念和使用方法。 首先,`JUnit4.1.chm`文件是JUnit 4.1版本的API参考文档,通常包含了类、接口、方法等详细...

    JUnit4单元测试入门详解.pdf

    JUnit 4是该框架的一个重要版本,它利用Java 5的注解(Annotation)特性极大地简化了测试用例的编写过程。 在介绍JUnit 4之前,我们先来看一下JUnit 3的测试用例编写方式。在JUnit 3中,单元测试的编写需要遵循一定...

    Junit入门培训资料(断言相关)

    ### Junit入门培训资料(断言相关):深入解析与应用 #### Junit概述与重要性 JUnit,作为由Kent Beck和Erich Gamma共同开发的开源Java测试框架,已成为Java开发人员进行单元测试的首选工具。它不仅是Java编程语言...

Global site tag (gtag.js) - Google Analytics