很简洁的一个入门。
原文地址 : http://www.cavdar.net/2008/07/21/junit-4-in-60-seconds/
我转载的中文来源: http://www.huomo.cn/developer/article-514c.html
周末接触了一下JUNIT 4库,下面是它的简介:
1.@Test
使用@Test标注你的测试用例。你不需要使用“test”前缀,也不需要扩展“TestCase”类。
@Test
public void addition() {
assertEquals(12, simpleMath.add(7, 5));
} @Test
public void subtraction() {
assertEquals(9, simpleMath.substract(12, 3));
}
2.@Before 和 @After
使用@Before和@After分别标注“setup”和“tearDown”方法。它们在每个测试用例的之前和之后运行。
@Before
public void runBeforeEveryTest() {
simpleMath = new SimpleMath();
} @After
public void runAfterEveryTest() {
simpleMath = null;
}
3.@BeforeClass 和 @AfterClass
使用@BeforeClass和@AfterClass标注class级别的“setup”和“tearDown”。它们可以看作只运行一次的setup和tearDown。分别在所有的测试用例之前运行一次,之后运行一次。
@BeforeClass
public static void runBeforeClass() { } @AfterClass
public static void runAfterClass() { }
4.异常处理
使用带“expected”参数的@Test来标注抛出异常的测试用例。写出被抛出异常的class名。
@Test(expected = ArithmeticException.class)
public void divisionWithException() {
// 除0
simpleMath.divide(1, 0);
}
5.@Ignore
使用@Ignore标注你想忽略的测试用例。你可以添加一个String参数描述忽略测试用例的原因。
@Ignore("还未完成")
@Test
public void multiplication() {
assertEquals(15, simpleMath.multiply(3, 5));
}
6.Timeout
在“timeout”参数中定义超时的毫秒数。当测试用例超过指定的毫秒数后失败。
@Test(timeout = 1000)
public void infinity() {
while (true) }
7.新的 Assertions
使用新的assertion来比较数组。当2个数组的长度和相应的元素都相同时,它们相等,否则不等。
public static void assertEquals(Object[] expected, Object[] actual);
public static void assertEquals(String message, Object[] expected, Object[] actual);
@Test
public void listEquality() {
List<Integer> expected = new ArrayList<Integer>();
expected.add(5); List<Integer> actual = new ArrayList<Integer>();
actual.add(5); assertEquals(expected, actual);
}
8.JUnit4 适配器
在Junit3测试运行器中使用Junit4Adapter来运行Junit4测试。
public static junit.framework.Test suite() {
return new JUnit4TestAdapter(SimpleMathTest.class);
}
再附一个深度阅读的链接: http://pub.admc.com/howtos/junit4x/