准备工作
JDK 版本问题
JUnit 4.x 是基于 Java 5 的升级版本,它使用了 Tiger 中的很多新特性来简化原有的使用方式。正因为如此,它并不能直接运行在 JDK1.4.x 版本上。如果您需要在 JDK1.4.x 版本使用 JUnit 的话,请使用 3.8.1 版本。
Junit 环境变量设置
在系统环境变量中的CLASSPATH中添加:$JUNIT_HOME\junit-4.2.jar
或者
在编译的时候使用-classpath参数:javac -cp "$JUNIT_HOME\junit-4.2.jar" MyTest.java
JUnit 4 使用 Java 5 中的注解(annotation),以下是JUnit 4 常用的几个 annotation 介绍
@Before:初始化方法
@After:释放资源
@Test:测试方法
@BeforeClass:针对所有测试,只执行一次,且必须为static void
@AfterClass:针对所有测试,只执行一次,且必须为static void
JUnit 4 初体验
一个简单的JUnit 4 单元测试例子,无任何业务逻辑上的测试,仅为查看上面介绍的几个常用注解(annotation)的运行顺序
代码清单1 MyTest.java
java 代码
1. package org.cnRock.test;
2.
3. import org.junit.*;
4. import static org.junit.Assert.*;
5.
6. public class MyTest
7. {
8. @Before
9. public void myBefore()
10. {
11. System.out.println("in myBefore");
12. }
13.
14. @Test
15. public void test1()
16. {
17. System.out.println("in test1");
18. assertEquals((1+1),2);
19. }
20.
21. @Test
22. public void test2()
23. {
24. System.out.println("in test2");
25. assertEquals((1+2),3);
26. }
27.
28. @After
29. public void myAfter()
30. {
31. System.out.println("in myAfter");
32. }
33.
34. @BeforeClass
35. public static void myBeforeClass()
36. {
37. System.out.println("start, in myBeforeClass");
38. };
39.
40. @AfterClass
41. public static void myAfterClass()
42. {
43. System.out.println("stop, in myAfterClass");
44. };
45. };
编译运行
1. javac -d . MyTest.java
2. java org.junit.runner.JUnitCore org.cnRock.test.MyTest
运行结果
1. JUnit version 4.2
2. start, in myBeforeClass
3. .in myBefore
4. in test1
5. in myAfter
6. .in myBefore
7. in test2
8. in myAfter
9. stop, in myAfterClass
10.
11. Time: 0.016
12.
13. OK (2 tests)
一个加法运算的小程序,使用JUnit 4 对其进行单元测试
代码清单二 MyAdd.java
java 代码
1. package org.cnRock;
2.
3. public class MyAdd
4. {
5. public int add (int a, int b) {
6. return a + b;
7. }
8. }
代码清单三 MyAddTest.java
java 代码
1. package org.cnRock.test;
2.
3. import org.junit.*;
4. import static org.junit.Assert.*;
5.
6. import org.cnRock.*;
7.
8. public class MyAddTest
9. {
10. MyAdd myAdd = new MyAdd();
11.
12. @Before
13. public void myBefore()
14. {
15. System.out.println("in myBefore");
16. }
17.
18. @Test
19. public void addTest()
20. {
21. System.out.println("in addTest");
22. assertEquals(myAdd.add(1,2),3);
23. }
24.
25. @After
26. public void myAfter()
27. {
28. System.out.println("in myAfter");
29. }
30.
31. @BeforeClass
32. public static void myBeforeClass()
33. {
34. System.out.println("start, in myBeforeClass");
35. };
36.
37. @AfterClass
38. public static void myAfterClass()
39. {
40. System.out.println("stop, in myAfterClass");
41. };
42. };
编译运行
1. javac -d . MyAdd.java
2. javac -d . MyAddTest.java
3. java org.junit.runner.JUnitCore org.cnRock.test.MyAddTest
运行结果
1. JUnit version 4.2
2. start, in myBeforeClass
3. .in myBefore
4. in addTest
5. in myAfter
6. stop, in myAfterClass
7.
8. Time: 0.016
9.
10. OK (1 test)
从测试结果可以看出:
一个JUnit 4 的单元测试用例执行顺序为:
@BeforeClass --> @Before --> @Test --> @After --> @AfterClass
每一个测试方法的调用顺序为:
@Before --> @Test --> @After
参考资料:JUnit FAQ
分享到:
相关推荐
NULL 博文链接:https://samueli.iteye.com/blog/424633
JUnit4
java junit4 jar完整包,junit可用来项目的单元测试。
运行junit4所需jar包,包括junit-4.11.jar与 hamcrest-core-1.3.jar
本文内容包括:引言JUnit4初体验JUnit深入JUnit和Ant总结本文主要介绍了如何使用JUnit4提供的各种功能开展有效的单元测试,并通过一个实例演示了如何使用Ant执行自动化的单元测试。本文假设读者对Eclipse下进行Java...
junit4学习文档,有实例,非常详细,不懂的可以参考
这是一个junit4测试的jar包,copy进去就可用
junit4教程(《Junit4初探》)
JUnit4基础文档
因 jdk5 中的新特性,JUnit4 也因此有了很大的改变。下面详细介绍 JUnit4 的使用方法,只是举个例子说明junit4 的使用
JUnit4概述,在Eclipse中使用JUnit4进行单元测试(初级篇、中级篇、高级篇)
赠送jar包:powermock-module-junit4-2.0.9.jar; 赠送原API文档:powermock-module-junit4-2.0.9-javadoc.jar; 赠送源代码:powermock-module-junit4-2.0.9-sources.jar; 赠送Maven依赖信息文件:powermock-...
Junit4使用方法
junit3.8 和junit4 api
单元测试Junit4 用于java测试开发
junit4 jar包 Java单元测试框架绿色免费版.zip
这个是junit4 的完整源代码,其中解压以后的文件中找到javadoc那个是文档。
Junit4教程.pdf
idea junitidea junitidea junitidea junitidea junitidea junit
JUnit 4 ppt 讲义