junit 初步认识

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 注解:注释掉一个测试方法或一个类,被注释的方法或类,不会被执行。

package test;

import java.util.Arrays;

import java.util.Collection;

import org.junit.After;

import org.junit.AfterClass;

import org.junit.Assert;

import org.junit.Before;

import org.junit.BeforeClass;

import org.junit.Test;

import org.junit.runner.RunWith;

import org.junit.runners.Parameterized;

import org.junit.runners.Parameterized.Parameters;

//(1)步骤一:测试类指定特殊的运行器org.junit.runners.Parameterized

@RunWith(Parameterized.class)

public class TestT1 {

t1 t1;

// (2)步骤二:为测试类声明几个变量,分别用于存放期望值和测试所用数据。

int x, y, z,expected;

// (3)步骤三:为测试类声明一个带有参数的公共构造函数,并在其中为第二个环节中声明的几个变量赋值。

public TestT1(int x, int y, int z,int expected) {

System.out.println("初始化");

this.x = x;

this.y = y;

this.z = z;

this.expected = expected;

}

// (4)步骤四:为测试类声明一个使用注解 org.junit.runners.Parameterized.Parameters 修饰的,返回值为

// java.util.Collection 的公共静态方法,并在此方法中初始化所有需要测试的参数对。

@Parameters

public static Collection Data() {

}

@BeforeClass

// 在所有方法执行之前执行

public static void globalInit() {

//System.out.println("init all method...");

}

@AfterClass

// 在所有方法执行之后执行

public static void globalDestory() {

//System.out.println("destory all method...");

}

@Before

// 在每个测试方法之前执行

public void setUp() {

//System.out.println("start setUp method");

t1=new t1();

}

@After

// 在每个测试方法之后执行

public void tearDown() {

//System.out.println("end method");

}

@Test

public void testWork1() {

int act = t1.work(x, y, z);

Assert.assertEquals(expected, act);

}

@Test

public void testWork2() {

int act = t1.work(x, y, z);

Assert.assertEquals(expected, act);

}

@Test

public void testWork3() {

int act = t1.work(x, y, z);

Assert.assertEquals(expected, act);

}

@Test(timeout = 1000)

public void testWork4() {

int act = t1.work(x, y, z);

Assert.assertEquals(expected, act);

}

}

时间: 2024-10-06 11:46:40

junit 初步认识的相关文章

初步认识JUnit

目前大多数的基于Java的企业应用软件,肯定少不了单元测试,程序员通过编写单元测试来验证自己程序的有效性:管理者通过持续自动的执行单元测试和分析单元测试覆盖率来确保软件本身的质量.可以说单元测试和集成测试在软件开发整个流程中占有举足轻重的地位.  单元测试,是指对软件中的最小可测试单元进行检查和验证.单元测试不是为了证明程序是对的,而是证明程序没有错.Java常用的单元测试框架有JUnit,TestNG,还有些MOCK框架,这里我们只来讲述JUnit. JUnit JUnit的两种版本是JUni

Junit与Eclemma的初步安装与使用

一.junit和hamcrest安装及引入 首先进入网址http://junit.org/junit4/下载junit及hamcrest .其次打开Eclipse新建一个名为lab1的项目,然后右键点击build path 引进junit就行了.如图: 之后是安装eclemma: 首先点击eclipse中的help 选定help中的 Marketplace 之后在find 中搜索 eclemma 再进行安装就行. 之后编写程序 之后生成junit junit内容 之后再运行junit 运行ecl

个人项目(JUnit单元测试)

---恢复内容开始--- 一.             题目简介 这次的单元测试我选择作了一个基本运算的程序,该程序实现了加,减,乘,除,平方,倒数的运算,该程序进行测试比较的简单,对于初步接触JUnit的我来说测试起来也比较容易理解. 二.源码的github链接 原代码:https://github.com/FBean/myself_project/blob/master/Calculator1.java 测  试:https://github.com/FBean/myself_project

Dagger2 使用初步

Dagger2 是一个Android依赖注入框架,由谷歌开发,最早的版本Dagger1 由Square公司开发.依赖注入框架主要用于模块间解耦,提高代码的健壮性和可维护性.Dagger 这个库的取名不仅仅来自它的本意“匕首”,同时也暗示了它的原理.Jake Wharton 在对 Dagger 的介绍中指出,Dagger 即 DAG-er,这里的 DAG 即数据结构中的 DAG——有向无环图(Directed Acyclic Graph).也就是说,Dagger 是一个基于有向无环图结构的依赖注入

Junit&Jmock使用简介

Junit&Jmock简介 序言 2 1. 环境配置 2 2.一种比较好的命名方式 3 3. JUnit使用入门 4 3.1一种简单的实现 4 3.2添加初始化和销毁方法的实现 5 3.3对Java异常(Exception)的单元测试 8 3.4 Assert类 9 3.5小结 12 4.Jmock使用入门 12 4.1一种简单的实现 13 4.2 Expectations类 18 4.3小结 21 5.总结 22 序言 本文的写作目的旨在帮助大家用最少的时间学会使用Junit和Jmock,并能

搜索引擎系列 ---lucene简介 创建索引和搜索初步

一.什么是Lucene? Lucene最初是由Doug Cutting开发的,2000年3月,发布第一个版本,是一个全文检索引擎的架构,提供了完整的查询引擎和索引引擎 :Lucene得名于Doug妻子的中名,同时这也她外祖母的姓;目前是Apache基金会的一个顶级项目,同时也是学习搜索引擎入门必知必会. Lucene 是一个 JAVA 搜索类库,它本身并不是一个完整的解决方案,需要额外的开发工作. 优点:成熟的解决方案,有很多的成功案例.apache 顶级项目,正在持续快速的进步.庞大而活跃的开

Java Junit测试框架

Java    Junit测试框架 1.相关概念 ? JUnit:是一个开发源代码的Java测试框架,用于编写和运行可重复的测试.它是用于单元测试框架体系xUnit的一个实例(用于java语言).主要用于白盒测试,回归测试. ? 白盒测试:把测试对象看作一个打开的盒子,程序内部的逻辑结构和其他信息对测试人 员是公开的. ? 回归测试:软件或环境的修复或更正后的再测试,自动测试工具对这类测试尤其有用. ? 单元测试:最小粒度的测试,以测试某个功能或代码块.一般由程序员来做,因为它需要知道内部程序设

[Java] Spring + SpringMVC + Maven + JUnit 搭建

示例项目下载: https://github.com/yangyxd/SpringDemo 利用前面 SpringMVC 项目的配置方式,完成初步的项目创建.下面只讲一些不同之处. 传送门: [Java] Maven 建立 Spring MVC 工程 目录结构 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-ins

Retrofit2.0 的初步使用

Retrofit2.0 的初步使用 首先我就不介绍了,直接说下怎么使用,本身我也是刚刚因为要仿照微软的azure-sdk-for-java(git地址是:https://github.com/Azure/azure-sdk-for-java.git) 然后去编写一个类似的程序里面就设计到了Retrofit. 我也是刚刚才使用所以说叫我讲啥原理我肯定不怎么会讲,所以这里就是告诉大家怎么使用,里面可能有些代码不怎么好,希望大家一起指出来,我会慢慢改正,请大家见谅. 首先我是把Retrofit跟OkH