01.使用Junit测试Java代码
本节通过一个简单的样例使用Junit测试Java代码
新建项目目录
在磁盘新建项目目录,并在其中建立如下目录结构:
├─bin
├─lib
└─src
建立包及Java文件
在src目录下建立如下目录结构
├─bin
├─lib
└─src
└─org
└─hibiscus
├─demo
└─test
├─demo
└─main
新建java文件src\org\hibiscus\demo\Demo.java
,内容如下:
package org.hibiscus.demo;
public class Demo{
/**
* 加法运算
* @param a
* @param b
* @author cloud
*/
public int add(int a,int b){
return a+b;
}
/**
* 减法运算
* @param a
* @param b
* @author cloud
*/
public int sub(int a,int b){
return a-b;
}
/**
* 除法运算
* @param a
* @param b
* @author cloud
*/
public int div(int a,int b){
return a/b;
}
}
新建java文件src\org\hibiscus\test\demo\DemoTest.java
,内容如下:
package org.hibiscus.test.demo;
import static org.junit.Assert.*;
import org.hibiscus.demo.Demo;
import org.junit.Ignore;
import org.junit.Test;
public class DemoTest{
/**
* * Add方法测试类
*
*/
@Test
@Ignore
public void testAdd() {
Demo demo = new Demo();
assertEquals(3,demo.add(1,2));
}
/**
* * sub方法测试类
*
*/
@Test
public void testSub() {
Demo demo = new Demo();
assertEquals(1,demo.sub(2,1));
}
@Test
public void testDivit(){
Demo demo = new Demo();
assertEquals(2,demo.div(2,0));
}
}
新建java文件src\org\hibiscus\test\main\Main.java
,内容如下:
package org.hibiscus.test.main;
import java.util.List;
import org.hibiscus.test.demo.DemoTest;
import org.junit.runner.Result;
import org.junit.runner.JUnitCore;
import org.junit.runner.notification.Failure;
public class Main{
public static void main(String[] args){
Result result = JUnitCore.runClasses(DemoTest.class);
System.out.println("运行时间:\t"+result.getRunTime()+" 毫秒");
System.out.println("运行数量:\t"+result.getRunCount());
System.out.println("成功数量:\t"+(result.getRunCount()-result.getFailureCount()));
System.out.println("失败数量:\t"+result.getFailureCount());
System.out.println("忽略数量:\t"+result.getIgnoreCount());
List<Failure> failureList = result.getFailures();
if(failureList.size()>0){
System.out.println("\n错误列表:");
}
for(int i = 0;i<failureList.size();i++){
System.out.println("\t"+failureList.get(i).getTestHeader()+"\t"+failureList.get(i).getMessage());
}
}
}
添加Junit包和hamcrest-core包
下载Junit的jar包与hamcrest-core的jar包放置到lib目录
编译
在终端中进入项目目录,使用如下命令编译:
$ javac -extdirs lib -sourcepath src -encoding utf-8 -d bin src\org\hibiscus\test\main\Main.java
运行
使用如下命令运行:
$ java -Djava.ext.dirs=lib;. org.hibiscus.test.main.Main
运行结果
运行时间: 4 毫秒
运行数量: 2
成功数量: 1
失败数量: 1
忽略数量: 1
错误列表:
testDivit(org.hibiscus.test.demo.DemoTest) / by zero
也可以使用方法:
import org.junit.runner.Request;
......
Result result = new JUnitCore().run(Request.method(TestExample.class, "testMethod"));
来执行单个测试方法