JUnit单元测试举例(@Test,@Before,@After,@beforeClass,@afterClass,assertEquals,assertTrue等)

需要测试的类Person:

package cn.edu.lstc.junit;

public class Person {

	public void run() {
		System.out.println("run...");
	}

	public void eat() {
		System.out.println("eat...");
	}

	public String a() {
		return "1";
	}
}

@Test,@Before,@After

package cn.edu.lstc.junit;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
//before比beforeclass更常用
public class PersonTest {
	private Person p;//成员域

	//以前在main里面测试,测试一个要注释一个 麻烦,
	//现在你想测试那个就在那个的方法上右击测试就ok

	@Before
	public void before(){
		System.out.println("before");
		p = new Person();//测试方法之前自动执行(每執行一個方法都要執行一次,因為不是static),可以放初始化代码片段
	}

	@Test
	public void testRun() {
		p.run();
	}

	@Test
	public void testEat() {
		p.eat();
	}

	@After
	public void after(){
		System.out.println("after");
		p = null;
	}
}
//:out
/*
	before
	eat...
	after
	before
	run...
	after
*/

@Test,@beforeClass,@afterClass

package cn.edu.lstc.junit;

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

public class Person2Test {

	private static Person p;//成员域

	@BeforeClass
	public static void beforeClass(){//需要是static
		System.out.println("beforeclass");
		p = new Person();//测试方法之前自动执行(整个过程只执行一次因為是static),可以放初始化代码片段
	}
	@Test
	public void testRun() {
//		Person p = new Person();//这代码可以注释掉了因为前面定义了一个全局的p对象,在测试方法时会自动执行
		p.run();
	}
	@Test
	public void testEat(){
//		Person p = new Person();//同上
		p.eat();
	}
	@AfterClass
	public static void afterClass(){
		System.out.println("afterclass");
		p = null;//使其不再指向對象
	}
}
//out:
/*
	beforeclass
	eat...
	run...
	afterclass
*/

assertEquals,assertTrue...

package cn.edu.lstc.junit;

import org.junit.Assert;
import org.junit.Test;

public class Demo {
	@Test
	public void testA(){
		Person p = new Person();
		//斷言
//		Assert.assertEquals("1",p.a());//通过测试,期望返回1,结果也返回了1
		Assert.assertArrayEquals(new int[]{1,1}, new int[]{1,1});//測試通過
//		Assert.assertArrayEquals(new int[]{1,1}, new int[]{1,2});//測試失敗

//		Assert.assertTrue(false);//測試失敗,
		Assert.assertFalse(false);//測試成功
	}

}
时间: 2024-12-13 11:01:30

JUnit单元测试举例(@Test,@Before,@After,@beforeClass,@afterClass,assertEquals,assertTrue等)的相关文章

junit 4 中的Before After Ignore Test BeforeClass AfterClass

Unit 4 使用 Java 5 中的注解(annotation),以下是JUnit 4 常用的几个 annotation 介绍@Before:初始化方法@After:释放资源@Test:测试方法,在这里可以测试期望异常和超时时间@Ignore:忽略的测试方法@BeforeClass:针对所有测试,只执行一次,且必须为static void@AfterClass:针对所有测试,只执行一次,且必须为static void一个JUnit 4 的单元测试用例执行顺序为:@BeforeClass –>

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

JUnit单元测试教程--终极指南 JUnit单元测试教程终极指南 说明 单元测试简介 1 什么是单元测试 2 测试覆盖 3 Java中的单元测试 JUnit简介 1 使用Eclipse实现简单JUnit测试例子 使用Eclipse实现完整的JUnit例子 1 创建工程 2 创建要被测试的Java类 3 创建并运行JUnit测试用例 4 使用Ignore注解 5 创建测试套件suite tests 6 创建参数化测试parameterized tests 7 规则Rules 8 策略Catego

JUnit单元测试框架的使用

http://blog.csdn.net/mao520741111/article/details/51462215 原文地址 http://www.open-open.com/lib/view/open1462177214142.html JUnit单元测试框架的使用 我们写单元测试,一般都会用到一个或多个单元测试框架,在这里,我们介绍一下JUnit4这个测试框架.这是Java界用的最广泛,也是最基础的一个框架,其他的很多框架,包括我们后面会看到的Robolectric,都是基于或兼容JUni

JUnit单元测试

JUnit单元测试: 1.什么是单元测试:我们在完成一个项目后,需要对其代码逻辑进行简单的全方面的测试,看看代码逻辑是否正确,比如,我们写了一片登录的代码,测试时,就要分别用手机号,账号去登录看是否能登上,如果输错密码或账号看是否会报错等,这些都需要我们去测试,测试成功以后就可以上交了.测试是为了以防万一代码会出错,项目上交之前,测试是必不可少的一个环节.测试代码需要[学Java,到凯哥学堂kaige123.com]我们自己写,没有JUnit我们也能测试(在main方法中调用自己写的测试代码即可

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

1. 目的: junit 单元测试,Cobertura   测试覆盖率报告 项目目录结构 2. maven 配置 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://mave

【Android进阶】Junit单元测试环境搭建以及简单实用

单元测试的目的 首先,Junit单元测试要实现的功能,就是用来测试写好的方法是否能够正确的执行,一般多用于对业务方法的测试. 单元测试的环境配置 1.在AndroidManifest清单文件的Application节点下,引入单元测试使用的库 2.在AndroidManifest清单文件与Application节点平行的节点中,添加instrumentation节点 下面是一个完整的配置的代码 <manifest xmlns:android="http://schemas.android.

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

做junit 单元测试时,发现怎么执行都是以前编译过得代码. 最后找到原因了, src/test/java 编译完的.class路径是 Default output folder Default output folder:  zphVip/src/main/webapp/WEB-INF/classes   解决 1 勾选 Allow output floders for source folders  ------允许源文件夹编译过后的.class输入文件夹自己指定 2 Edit 指定 out

spring框架学习(三)junit单元测试

spring框架学习(三)junit单元测试 单元测试不是头一次听说了,但只是听说从来没有用过.一个模块怎么测试呢,是不是得专门为一单元写一个测试程序,然后将测试单元代码拿过来测试? 我是这么想的.学到spring框架这才知道单元测试原来是这么回事儿. 下面以上一篇文章中set注入的第一个实例为测试对象.进行单元测试. 1,拷贝jar包 junit-3.8.2.jar(4.x主要增加注解应用) 2,写业务类 [java] view plaincopyprint? public class Use

Java反射学习总结终(使用反射和注解模拟JUnit单元测试框架)

本文是Java反射学习总结系列的最后一篇了,这里贴出之前文章的链接,有兴趣的可以打开看看. http://blog.csdn.net/a396901990/article/category/2302221 本文介绍了如何利用反射和注解去简单的模拟JUnit4单元测试框架,之所以选择JUnit4是因为4.0以后最大的改进就是使用了注解.需要注意的是这里并不是完全的模拟,只是简单实现了一下Runner类和JUnit注解相关的工作流程.所以本文的主要目的是介绍反射和注解的使用.废话不多说,直接进入正文