程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> junit單元測試使用方法

junit單元測試使用方法

編輯:關於JAVA
 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());
  }
  }
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved