当前位置:首页 > 开发 > 编程语言 > 编程 > 正文

JUnit入门

发表于: 2013-04-25   作者:chinrui   来源:转载   浏览:
摘要: Junit笔记 1、 单元测试 package edu.hpu.junit; public class T { public int plus(int x , int y) { return x + y; } } //测试用 package edu.hpu.junit.test; //静态引入,引入相应的方法,而不用再写类名 import stati
Junit笔记

1、 单元测试
package edu.hpu.junit;

public class T {
	public int plus(int x , int y) {
		return x + y;
	}
}

//测试用
package edu.hpu.junit.test;

//静态引入,引入相应的方法,而不用再写类名
import static org.junit.Assert.*;

import org.junit.Test;

import edu.hpu.junit.T;

public class TTest {

	@Test
	public void testPlus() {
		int z = new T().plus(3, 5);
		assertEquals(8, z);
	}
}

2、 Error与Failure
Error是程序出错,Failure是测试失败
3、 测试方法是否抛出相应的异常
@Test(expected=java.lang.ArithmeticException.class)
public void testDivide() {
	int z = new T().divide(8, 0);
}

4、 测试程序的执行速度
@Test(expected=java.lang.ArithmeticException.class, timeout=100)
public void testDivide() {
	int z = new T().divide(8, 0);
}

5、 @before与@after
package edu.hpu.junit.test;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

import edu.hpu.junit.T;

public class TTest {
	
	@Before
	public void before() {
		System.out.println("before");
	}

	@Test
	public void testPlus() {
		int z = new T().plus(3, 5);
		assertEquals(8, z);
	}
	
	@Test(expected=java.lang.ArithmeticException.class, timeout=100)
	public void testDivide() {
		int z = new T().divide(8, 0);
	}
	
	@After
	public void after() {
		System.out.println("after");
	}

}

运行结果:
before
after
before
after
表明每当测试一个方法前运行一下用@before标识的方法,结束时运行一下用@after标识的方法
6、 @BeforClass和@AfterClass
package edu.hpu.junit.test;

import static org.junit.Assert.*;

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

import edu.hpu.junit.T;

public class TTest {
	
	@BeforeClass
	public static void beforeClass() {
		System.out.println("beforeClass");
	}
	
	@AfterClass
	public static void afterClass() {
		System.out.println("afterClass");
	}
	
	@Before
	public void before() {
		System.out.println("before");
	}

	@Test(expected=java.lang.ArithmeticException.class, timeout=100)
	public void testDivide() {
		int z = new T().divide(8, 0);
	}
	
	@After
	public void after() {
		System.out.println("after");
	}

}

运行结果:
beforeClass
before
after
afterClass
表明当Class未初始化前执行BeforeClass标识的方法,程序运行完以后执行AfterClass方法

JUnit入门

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号