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; } } |
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); } } |
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()); } } |