junit 是用来做单元测试,最近项目中可能要需要,所以了解了以下!说一下junit的使用!
一、安装junit
下载junit.jar放在你工程的编译路径下, ok!这不用解释
二、使用junit
使用的几种情况:具体使用间三中的代码注释部分
1、测试某个类的所有方法
2、测试某个类的个别方法
3、测试几个类中的全部方法
4、测试几个类中的指定方法
三、 几个已经生成的类、eclipse3.2+myeclipse4.1+j2sdk1.4.2
以下是被测试的类
package common;
import java.io.*;
public class RunTime
{
public boolean executeRunTime(int str)
{
/*
* try { Process prop = Runtime.getRuntime().exec(str); // Process prop =
* Runtime.getRuntime().exec("cmd/E:ON/C start 1.txt"); } catch
* (IOException e) { e.printStackTrace(); }
*/
if (str == 1)
{
return true;
} else
{
return false;
}
}
public int reValue(int a ,int b)
{
return a+b;
}
}
以下是junit的测试类
package common;
import junit.framework.AssertionFailedError;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.Assert;
import junit.framework.TestSuite;
public class RunTimeTest extends TestCase
{
public static RunTime op = null;
public RunTimeTest(String name)
{
super(name);
}
protected void setUp() throws Exception
{
super.setUp();
op = new RunTime();
}
protected void tearDown() throws Exception
{
super.tearDown();
}
/*
* Test method for 'common.RunTimeTest.executeRunTime()'
*/
public void testExecuteRunTime()
{
// junit.framework.TestResult r = new junit.framework.TestResult();
try
{
Assert.assertEquals(true, op.executeRunTime(1));// 若失败则抛出AssertionFailedError异常
// throw new Exception( "This is a test.");
// Assert.fail();
} catch (Exception e)
{
System.out.println("sfsd");
Assert.fail("fsdf");
}
}
public void testreValue()
{
Assert.assertEquals(" i am here!",2,op.reValue(1,2));
}
// 可在一个单独类中实现
public static Test suite()
{
TestSuite suite = new TestSuite("ALL TEST");
/*以下是测试某个具体方法*/
//suite.addTest(new RunTimeTest("testreValue"));
suite.addTest(new RunTimeTest("testExecuteRunTime"));
/*下句是执行指定类中的所有方法*/
//suite.addTestSuite(RunTimeTest.class);
return suite;
}
public static void main(String[] args)
{
// 以下三种方式均可以,具体情况可运行以下,看一下结果
junit.textui.TestRunner.run(suite());
// junit.swingui.TestRunner.run(Test.class);
// junit.awtui.TestRunner.run(Test.class);
//junit.swingui.TestRunner.run(RunTimeTest.class);
}
}
以下是使用suite的类,可以测试多个
package common;
import junit.framework.TestCase;
import junit.framework.TestSuite;
import junit.framework.Test;
import common.RunTimeTest;
public class TestUnit
{
public static Test suite()
{
//以下是用来增加单个测试用例
TestSuite suite = new TestSuite("ALL TEST");
//以下这句将运行RunTimeTest中被指定的方法,如testreValue
suite.addTest(new RunTimeTest("testreValue"));
//以下这句将运行RunTimeTest中的所有测试方法
//suite.addTestSuite(RunTimeTest.class);
//以下这句讲运行RunTimeTest.suite()中规定的一组方法
//suite.addTest(RunTimeTest.suite());
return suite;
}
public static void main(String[] args)
{
//以下三种方式均可以,具体情况可运行以下,看一下结果
// junit.textui.TestRunner.run(TestUnit.class);
// junit.swingui.TestRunner.run(Test.class);
// junit.awtui.TestRunner.run(Test.class);
// junit.swingui.TestRunner.run(TestUnit.class);
junit.textui.TestRunner.run(suite());
}
}
新闻热点
疑难解答
图片精选