Junit3和Junit4使用区别
2017-01-25 18:28
225 查看
在项目经常会用到单元测试,这里对Junit在开发中的使用标准及使用方法进行简单的介绍。
[java] view plain copy
print?
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 plain copy
print?
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 plain copy
print?
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包的添加
2.Junit3和Junit4分别对测试类的编写
所测试的源代码:[java] view plain copy
print?
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 plain copy
print?
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 plain copy
print?
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;
}
}
全部测试类运行:
相关文章推荐
- junit3和junit4的使用区别
- java Junit3和Junit4使用区别
- junit3和junit4的使用区别如下
- Junit3和Junit4使用区别
- Junit3和Junit4测试包使用区别
- junit3和junit4的区别
- JUnit测试框架之JUnit3和JUnit4使用区别的总结
- Java-测试框架之JUnit3和JUnit4使用区别的总结
- junit3和junit4的区别总结
- Server.Transfer,Response.Redirect的区别;使用HttpContext.RewritePath来配合Server.Transfer/Execute
- COM+组件与COM+服务使用的区别
- Oracle的几种字符类型的区别与使用
- ACCESS中使用SQL语句应注意的地方、与sql server的区别及几点技巧(整理中)
- 这篇文章不错,介绍了virtual abstract override new 的使用区别
- Oracle CHAR,VARCHAR,VARCHAR2类型的区别与使用
- 关于方法CEikonEnv::Static()方法和宏iEikonEnv的使用区别。
- 多线程中暂停与挂起方法suspend sleep join 区别及使用指导 (原创)
- 使用APPlication,Session,Cookie和ViewState等对象保存信息的区别是什么?
- String和StringBuilder的区别和使用
- 使用 this 指针和 prototype 实现 js 的 OO 时的一个区别