JUnit 4 简单使用
来源:互联网 发布:在兴唐通信上班 知乎 编辑:程序博客网 时间:2024/06/09 14:55
先看一下JUnit3与4的区别
从前用JUnit3的时候写一个测试的类就需要去继承TestCase这个类,像下面这类
publicclass NewTestextends TestCase {
public void setUp() {super.setUp(); }
publicvoid tearDown() {super.tearDown(); }
publicvoid testMethod1() { assertTrue(true); }
publicvoid testMethod2() {...}
publicvoid testMethod3() {...}
}
public void setUp() {super.setUp(); }
publicvoid tearDown() {super.tearDown(); }
publicvoid testMethod1() { assertTrue(true); }
publicvoid testMethod2() {...}
publicvoid testMethod3() {...}
}
JUnit3依赖反射来执行每个以test开头的方法,并且在setUp()和tearDown()这两个方法执行测试类里开始和结束时需要做的准备动作
下面再来看看JUnit4的实现
import static org.junit.Assert.*;
publicclass NewTest {
@Before
publicvoid setUp() {...}
@After
publicvoid tearDown() {...}
publicvoid tearDown() {...}
@Test
publicvoid testMethod1() {Assert.assertTrue(true); }
publicvoid testMethod1() {Assert.assertTrue(true); }
@Test
publicvoidtestMethod2() {assertTrue(true);}
publicvoidtestMethod2() {assertTrue(true);}
@Test
publicvoidtestMethod3() {...}
}
publicvoidtestMethod3() {...}
}
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() {
newMath().div(127,0);
}
public void doDiv0() {
newMath().div(127,0);
}
超时测试(timeout)
在@Test,使用"timeout"参数。如果测试运行的时间超过指定的毫秒数,则测试失败。
@Test(timeout=1)
public void doLongTimeTask() {
doubled = 0;
for(inti=1; i<10000000; i++)
d+=i;
}
public void doLongTimeTask() {
doubled = 0;
for(inti=1; i<10000000; i++)
d+=i;
}
@BeforeClass 和 @AfterClass
在JUnit3,如果想仅调用一次setUp()和tearDown() for all test cases, 使用TestSetup类;在JUnit4,就省事了:
@BeforeClass
public static void runBeforeClass(){...}
public static void runBeforeClass(){...}
@AfterClass
public static void runAfterClass(){...}
public static void runAfterClass(){...}
- JUnit 4 简单使用
- Junit的简单使用
- JUnit的简单使用
- JUnit简单使用教程
- Junit的简单使用
- JUnit简单使用
- JUnit简单使用教程
- JUnit简单使用
- Junit的简单使用
- Junit Helper 简单使用
- JUnit简单使用教程
- JUnit简单使用教程
- Junit的简单使用
- 简单Junit创建使用
- Junit简单使用及模板
- Junit简单使用(一 )
- Java项目JUnit简单使用
- JUnit 单元测试的简单使用
- 碎影
- HTTP POST GET详解
- 字符串反转的N种方法(转)
- 等待
- 用Flash做点击页面图片切换效果的超级详细教程
- JUnit 4 简单使用
- javascript中日期函数Date详解
- 检测远程URL是否存在的三种方法
- xml的序列化和反序列化
- Zend Framework 1.10.1 快速入门之一:Zend Framework & MVC 介绍
- 何谓数据结构
- 编写开发库
- javascript对table行的一些相关控制
- BMP 的编码与解码