jar包准备:
1.junit4 jar:junit-4.8.2.jar
2.hamcrest-core-1.3.jar
3.hamcrest-library-1.3.jar
不用myeclipse自带的junit包,使用自己下载的jar包。
创建junit时,与需要测试的类文件进行关联:
选择需要测试的方法:
贴下代码:
package com.junit.test;
import static org.hamcrest.Matchers.allOf;
import static org.hamcrest.Matchers.greaterThan;
import static org.hamcrest.Matchers.is;
import static org.hamcrest.Matchers.lessThan;
import static org.junit.Assert.*;
import org.junit.After;
import org.junit.AfterClass;
import org.junit.Before;
import org.junit.BeforeClass;
import org.junit.Ignore;
import org.junit.Test;
import com.junit4.T;
public class TJunitTest {
@Test
public void testAdd() {
int x = 2;
int y = 2;
int z = new T().add(x, y);
assertThat(z, is(4));
assertThat(z, allOf(greaterThan(1), lessThan(10)));
}
@Ignore
@Test(expected=java.lang.ArithmeticException.class)
public void testDivide() {
int x = 10;
int y = 0;
new T().divide(x, y);
}
@Before
public void befor() {
System.out.println("before!");
}
@After
public void after() {
System.out.println("after!");
}
@BeforeClass
public static void beforeClass() {
System.out.println("beforeClass");
}
@AfterClass
public static void afterClass() {
System.out.println("afterClass");
}
}
说明:
@Test
申明
@Ignore
忽略该方法
@Before
在每个junit测试方法执行前都会执行一次
@After
在每个junit测试方法执行后都会执行一次
@BeforeClass
在junit class执行前执行一次
@AfterClass
在junit class执行后执行一次
改进:
更贴近语言表达的方式,
// 断言变量Z的值是否为4
assertThat(z, is(4));
//断言变量Z是否是大于1,小于10
assertThat(z, allOf(greaterThan(1), lessThan(10)));
当然还有很多其它方法,不一一列举,都类似。