Junit3和Junit4测试包使用区别
2013-06-27 16:47
239 查看
在项目经常会用到单元测试,这里对Junit在开发中的使用标准及使用方法进行简单的介绍。
![](http://img.my.csdn.net/uploads/201212/28/1356699431_2275.png)
![](http://img.my.csdn.net/uploads/201212/28/1356699426_6485.png)
[java]
view plaincopyprint?
package com.techbirds; public class HelloWorld { public void sayHello(){ System.out.println("hello...."); throw new NumberFormatException(); } public void sayWorld(){ System.out.println("world...."); } public String say(){ return "hello world!"; } }
[java]
view plaincopyprint?
package com.techbirds;
import junit.framework.TestCase;
public class HelloWorldTest extends TestCase{
private HelloWorld hw;
@Override
protected void setUp() throws Exception {
super.setUp();
hw=new HelloWorld();
}
//1.测试没有返回值
public void testHello(){
try {
hw.sayHello();
} catch (Exception e) {
System.out.println("发生异常.....");
}
}
public void testWorld(){
hw.sayWorld();
}
//2.测试有返回值的方法
// 返回字符串
public void testSay(){
assertEquals("测试失败", hw.say(), "hello world!");
}
//返回对象
public void testObj(){
assertNull("测试对象不为空", null);
assertNotNull("测试对象为空",new String());
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
hw=null;
}
}
[java]
view plaincopyprint?
package com.techbirds;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
//导入Assert类的静态方法-为了便于junit4->junit3的转换
import static org.junit.Assert.*;
public class HelloWorldTest {
private HelloWorld hw;
@Before
public void setUp() {
hw = new HelloWorld();
}
@Test(expected=NumberFormatException.class)
// 1.测试没有返回值,有别于junit3的使用,更加方便
public void testHello() {
hw.sayHello();
}
@Test
public void testWorld() {
hw.sayWorld();
}
@Test
// 2.测试有返回值的方法
// 返回字符串
public void testSay() {
assertEquals("测试失败", hw.say(), "hello world!");
}
@Test
// 返回对象
public void testObj() {
assertNull("测试对象不为空", null);
assertNotNull("测试对象为空", new String());
}
@After
public void tearDown() throws Exception {
hw = null;
}
}
1.包目录的定义以及相关jar包的添加
![](http://img.my.csdn.net/uploads/201212/28/1356699431_2275.png)
![](http://img.my.csdn.net/uploads/201212/28/1356699426_6485.png)
2.Junit3和Junit4分别对测试类的编写
所测试的源代码:[java]
view plaincopyprint?
package com.techbirds; public class HelloWorld { public void sayHello(){ System.out.println("hello...."); throw new NumberFormatException(); } public void sayWorld(){ System.out.println("world...."); } public String say(){ return "hello world!"; } }
package com.techbirds; public class HelloWorld { public void sayHello(){ System.out.println("hello...."); throw new NumberFormatException(); } public void sayWorld(){ System.out.println("world...."); } public String say(){ return "hello world!"; } }Junit3测试类编写:
[java]
view plaincopyprint?
package com.techbirds;
import junit.framework.TestCase;
public class HelloWorldTest extends TestCase{
private HelloWorld hw;
@Override
protected void setUp() throws Exception {
super.setUp();
hw=new HelloWorld();
}
//1.测试没有返回值
public void testHello(){
try {
hw.sayHello();
} catch (Exception e) {
System.out.println("发生异常.....");
}
}
public void testWorld(){
hw.sayWorld();
}
//2.测试有返回值的方法
// 返回字符串
public void testSay(){
assertEquals("测试失败", hw.say(), "hello world!");
}
//返回对象
public void testObj(){
assertNull("测试对象不为空", null);
assertNotNull("测试对象为空",new String());
}
@Override
protected void tearDown() throws Exception {
super.tearDown();
hw=null;
}
}
package com.techbirds; import junit.framework.TestCase; public class HelloWorldTest extends TestCase{ private HelloWorld hw; @Override protected void setUp() throws Exception { super.setUp(); hw=new HelloWorld(); } //1.测试没有返回值 public void testHello(){ try { hw.sayHello(); } catch (Exception e) { System.out.println("发生异常....."); } } public void testWorld(){ hw.sayWorld(); } //2.测试有返回值的方法 // 返回字符串 public void testSay(){ assertEquals("测试失败", hw.say(), "hello world!"); } //返回对象 public void testObj(){ assertNull("测试对象不为空", null); assertNotNull("测试对象为空",new String()); } @Override protected void tearDown() throws Exception { super.tearDown(); hw=null; } }Junit4测试类编写:
[java]
view plaincopyprint?
package com.techbirds;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
//导入Assert类的静态方法-为了便于junit4->junit3的转换
import static org.junit.Assert.*;
public class HelloWorldTest {
private HelloWorld hw;
@Before
public void setUp() {
hw = new HelloWorld();
}
@Test(expected=NumberFormatException.class)
// 1.测试没有返回值,有别于junit3的使用,更加方便
public void testHello() {
hw.sayHello();
}
@Test
public void testWorld() {
hw.sayWorld();
}
@Test
// 2.测试有返回值的方法
// 返回字符串
public void testSay() {
assertEquals("测试失败", hw.say(), "hello world!");
}
@Test
// 返回对象
public void testObj() {
assertNull("测试对象不为空", null);
assertNotNull("测试对象为空", new String());
}
@After
public void tearDown() throws Exception {
hw = null;
}
}
package com.techbirds; import org.junit.After; import org.junit.Before; import org.junit.Test; //导入Assert类的静态方法-为了便于junit4->junit3的转换 import static org.junit.Assert.*; public class HelloWorldTest { private HelloWorld hw; @Before public void setUp() { hw = new HelloWorld(); } @Test(expected=NumberFormatException.class) // 1.测试没有返回值,有别于junit3的使用,更加方便 public void testHello() { hw.sayHello(); } @Test public void testWorld() { hw.sayWorld(); } @Test // 2.测试有返回值的方法 // 返回字符串 public void testSay() { assertEquals("测试失败", hw.say(), "hello world!"); } @Test // 返回对象 public void testObj() { assertNull("测试对象不为空", null); assertNotNull("测试对象为空", new String()); } @After public void tearDown() throws Exception { hw = null; } }全部测试类运行:
![](http://img.my.csdn.net/uploads/201212/28/1356699686_8708.png)
相关文章推荐
- Junit3和Junit4使用区别
- junit3和junit4的使用区别
- java Junit3和Junit4使用区别
- Junit3和Junit4使用区别
- junit3和junit4的使用区别如下
- WEB项目web.xml文件中classpath: 跟classpath*:使用的区别
- mouseout 和mouseleave 使用的区别
- utf8_unicode_ci和utf8_general_ci的区别,联系及使用
- [代码] DataGrid & GridView 使用区别
- Android笔记:invalidate()和postInvalidate() 的区别及使用
- mybatis ResultMap和ResultType在使用中的区别
- iphone开发cocoa中nil,NSNull,Nil的使用区别
- PHP中include与require使用方法区别详解
- Oracle CHAR,VARCHAR,VARCHAR2类型的区别与使用
- IOS OC声明变量在@interface括号中与使用@property的区别
- 第七周上机任务二--理解成员函数、友元函数和一般函数的区别 并会熟练使用它们
- Java 使用线程方式Thread和Runnable,以及Thread与Runnable的区别
- mysql权限和使用注意事项及mysql 数据类型详解和innodb,myisam区别
- POI XSSF与HSSF的 使用区别
- jdbc连接数据库使用sid和service_name的区别