JUnit 4 简单使用
2010-04-23 14:18
211 查看
先看一下JUnit3与4的区别
从前用JUnit3的时候写一个测试的类就需要去继承TestCase这个类,像下面这类
public
class
NewTest
extends
TestCase {
public
void
setUp() {
super
.setUp(); }
public
void
tearDown() {
super
.tearDown(); }
public
void
testMethod1() { assertTrue(
true
); }
public
void
test
Method2
() {...}
public
void
test
Method3
() {...}
}
JUnit3依赖反射来执行每个以test开头的方法,并且在setUp()和tearDown()这两个方法执行测试类里开始和结束时需要做的准备动作
下面再来看看JUnit4的实现
import static org.junit.Assert.*;
public
class
NewTest
{
@Before
public
void
setUp() {
...}
@After
public
void
tearDown() {...
}
@Test
public
void
testMethod1() {Assert.assertTrue(
true
); }
@Test
public
void
test
Method2
() {assertTrue(
true
);}
@Test
public
void
test
Method3
() {...}
}
JUnit4利用Java 5的Annotation特性简化测试用例的编写.现在测试类可以不用继承TestCase类,而以@Before与
@After两个标记代替了TestCase类中实现的setUp()与tearDown()这两个方法,并且方法名不是必须使用
setUp,tearDown,只要方法前使用了标记
断言(assert)
在JUnit4中,因为没有继承TestCase类,所以并不能直接使用assertXXX(),这些方法被封装在了
org.junit.Assert类中,你可以静态的引入该类,并在测试类中调用assertXXX(),或者是以
Assert.assertTrue(
true
);的形式去调用
异常测试(Exception)
对测试异常,JUnit 4可以用expected=Exception.class
来
期待一个预期的异常,而不必编写try{...}catch(XXX){...}
除零测试
@Test(expected
=
ArithmeticException.
class
)
public
void
doDiv0() {
new
Math().div(
127
,
0
);
}
超时测试(timeout)
在@Test,使用"timeout"参数。如果测试运行的时间超过指定的毫秒数,则测试失败。
@Test(timeout
=
1
)
public
void
doLongTimeTask() {
double
d
=
0
;
for
(
int
i
=
1
; i
<
10000000
; i
++
)
d
+=
i;
}
@BeforeClass 和 @AfterClass
在JUnit3,如果想仅调用一次setUp()和tearDown() for all test cases,
使用TestSetup类;在JUnit4,就省事了:
@BeforeClass
public
static void
runBeforeClass(){...}
@AfterClass
public
static
void
runAfterClass(){...}
从前用JUnit3的时候写一个测试的类就需要去继承TestCase这个类,像下面这类
public
class
NewTest
extends
TestCase {
public
void
setUp() {
super
.setUp(); }
public
void
tearDown() {
super
.tearDown(); }
public
void
testMethod1() { assertTrue(
true
); }
public
void
test
Method2
() {...}
public
void
test
Method3
() {...}
}
JUnit3依赖反射来执行每个以test开头的方法,并且在setUp()和tearDown()这两个方法执行测试类里开始和结束时需要做的准备动作
下面再来看看JUnit4的实现
import static org.junit.Assert.*;
public
class
NewTest
{
@Before
public
void
setUp() {
...}
@After
public
void
tearDown() {...
}
@Test
public
void
testMethod1() {Assert.assertTrue(
true
); }
@Test
public
void
test
Method2
() {assertTrue(
true
);}
@Test
public
void
test
Method3
() {...}
}
JUnit4利用Java 5的Annotation特性简化测试用例的编写.现在测试类可以不用继承TestCase类,而以@Before与
@After两个标记代替了TestCase类中实现的setUp()与tearDown()这两个方法,并且方法名不是必须使用
setUp,tearDown,只要方法前使用了标记
断言(assert)
在JUnit4中,因为没有继承TestCase类,所以并不能直接使用assertXXX(),这些方法被封装在了
org.junit.Assert类中,你可以静态的引入该类,并在测试类中调用assertXXX(),或者是以
Assert.assertTrue(
true
);的形式去调用
异常测试(Exception)
对测试异常,JUnit 4可以用expected=Exception.class
来
期待一个预期的异常,而不必编写try{...}catch(XXX){...}
除零测试
@Test(expected
=
ArithmeticException.
class
)
public
void
doDiv0() {
new
Math().div(
127
,
0
);
}
超时测试(timeout)
在@Test,使用"timeout"参数。如果测试运行的时间超过指定的毫秒数,则测试失败。
@Test(timeout
=
1
)
public
void
doLongTimeTask() {
double
d
=
0
;
for
(
int
i
=
1
; i
<
10000000
; i
++
)
d
+=
i;
}
@BeforeClass 和 @AfterClass
在JUnit3,如果想仅调用一次setUp()和tearDown() for all test cases,
使用TestSetup类;在JUnit4,就省事了:
@BeforeClass
public
static void
runBeforeClass(){...}
@AfterClass
public
static
void
runAfterClass(){...}
相关文章推荐
- Junit Helper 简单使用
- JUnit使用的简单介绍
- Spring+junit 简单使用说明
- Junit的简单使用
- JUnit简单使用手册
- jUnit单元测试简单的安装和基本的使用方法
- JUnit的简单使用
- 单元测试及框架简介 --junit、jmock、mockito、powermock的简单使用
- Junit简单使用及模板
- Junit 简单示例(使用TestSuite)
- JAVA学习笔记_Junit测试简单使用_assertEquals
- JUnit简单使用教程
- 简单示例mock的使用 (Junit结合Jmock)
- Java项目JUnit简单使用
- JUnit简单使用教程
- JUnit: MyEclipse上的简单使用
- Junit的简单使用
- 简单使用Junit
- Junit的简单使用
- JUnit简单使用