亚洲好骚综合-亚洲黄色录像-亚洲黄色网址-亚洲黄色网址大全-99久久99久久-99久久99久久精品国产

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
單元測試之用JUnitPerf測試多線程并發(fā)
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/1/15 10:19:26 ] 推薦標(biāo)簽:

  對方法進(jìn)行多線程測試ThreadTestDateUtil

  雖然通過了單元測試,這個方法的功能實(shí)現(xiàn)了,但在多線程并發(fā)調(diào)用該方法的時候會出現(xiàn)拋出異常。手寫多線程并發(fā)測試代碼,com.loggingselenium.ThreadTestDateUtil繼承java.lang.Thread線程類,重新實(shí)現(xiàn)其run()方法,用于調(diào)用com.loggingselenium.DateUtil類的compareDateTime(String dateTime1, String dateTime2)。在main()方法中創(chuàng)建兩個線程并啟動線程執(zhí)行調(diào)用日期時間比較的方法。


package com.loggingselenium;
public class ThreadTestDateUtil extends Thread {
 public void run() {
  int i1=DateUtil.compareDateTime("20130111 01:02:03","20130111 01:02:03");
  int i2=DateUtil.compareDateTime("20120111 01:02:03","20130111 01:02:03");
  System.out.println("i1="+i1);
  System.out.println("i2="+i2);
 }
 public static void main(String a[]) { 
  Thread t = new ThreadTestDateUtil();
  t.start();
  Thread t2 = new ThreadTestDateUtil();
  t2.start();
 }
}


  編譯、運(yùn)行該方法,控制臺報異常:

  java.lang.RuntimeException: 解析日期時間格式出錯,期望的字符串格式為[yyyyMMdd HH:mm:ss]

  at DateUtil.compareDateTime(DateUtil.java:43)

  at TestDateUtil2.run(TestDateUtil2.java:3)

  使用JUnitPerf進(jìn)行多線程測試JUnitPerfTestDateUtil

  我們手寫多線程并發(fā)測試代碼的一個弊端是,如果我們需要測試100個線程,我們需要創(chuàng)建100個線程實(shí)例Thread t,t1,t2,t3……并一一啟動這些線程。JunitPerf包可以幫助我們更容易對代碼進(jìn)行多線程并發(fā)測試。

  首先,訪問http://www.clarkware.com/software/junitperf-1.9.1.zip下載我們需要的junitperf-1.9.1.jar,放到我們單元測試項目的構(gòu)建路徑。

  在測試代碼com.loggingselenium. UnitTestDateUtil的基礎(chǔ)上進(jìn)行修改,創(chuàng)建新測試類JUnitPerfTestDateUtil,以使用JunitPerf進(jìn)行多線程并發(fā)測試。新測試類中compareDateTimeLoadTestMethod()實(shí)現(xiàn)以5個線程執(zhí)行testCompareDateTime(),這個單元測試方法調(diào)用我們的日期時間比較方法。方法compareDateTimeLoadTestMethod()只會運(yùn)行1次,會有5個線程運(yùn)行方法testCompareDateTime(),等于有5個線程調(diào)用方法compareDateTime(String dateTime1, String dateTime2)。我們可以指定需要的線程數(shù)目,JunitPerf也提供了豐富的接口供我們選用。


package com.loggingselenium;
import com.clarkware.junitperf.LoadTest;
import com.clarkware.junitperf.TestMethodFactory;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
public class JUnitPerfTestDateUtil extends TestCase {
 public JUnitPerfTestDateUtil(String name) {
  super(name);
 }
 protected void setUp() throws Exception {
  super.setUp();
 }
 protected void tearDown() throws Exception {
  super.tearDown();
 }
 public void CompareDateTime() {
  String dateTime1 = "20120111 01:02:03";
  String dateTime2 = "20130111 01:02:03";
  String dateTime3 = "20130111 01:02:03";
  assertEquals(-1, DateUtil.compareDateTime(dateTime1, dateTime2));
  assertEquals(1, DateUtil.compareDateTime(dateTime2, dateTime1));
  assertEquals(0, DateUtil.compareDateTime(dateTime2, dateTime3));
 }
 protected static Test compareDateTimeLoadTestMethod() {
  int users = 5;
  Test factory = new TestMethodFactory(JUnitPerfTestDateUtil.class,
    "CompareDateTime");
  Test loadTest = new LoadTest(factory, users);
  return loadTest;
 }
 public static Test suite() {
  TestSuite suite = new TestSuite();
  suite.addTest(compareDateTimeLoadTestMethod());
  return suite;
 }
 public static void main(String args[]) {
  junit.textui.TestRunner.run(suite());
 }
}

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 一本到在线| 午夜在线观看免费视频 | 首页 国产 日韩 欧美 动漫 | 一级影院| 欧美成人看片一区二区三区 | 在线观看国产亚洲 | 国产在线一卡二卡 | 亚洲成a人片77777kkk | 久久秋霞理伦片 | 精品国产成a人在线观看 | 你懂的视频在线 | 成人免费看黄网址 | 亚洲福利天堂 | 午夜在线播放视频 | 精品福利一区 | 免费色视频网站 | 免费观看的成年网址 | 亚洲 欧美 中文字幕 | 制服丝袜第一页在线 | 男女视频在线免费观看 | 日韩欧美在线视频 | 日本狠狠干 | 草视频在线 | 国产成+人+综合+亚洲不卡 | 看一级黄色毛片 | 日韩精品www | 精品综合一区二区三区 | 日韩精品中文字幕一区二区三区 | 黄色小说软件 | 亚洲精品xxx | 伊人网免费视频 | 视频在线色 | 国产一区二区三区国产精品 | 亚洲成人黄色网址 | 亚洲精品无码不卡在线播放he | 全免费午夜一级毛片一级毛 | 黑丝足| 免费簧网站永久在线播放国产 | 亚洲日韩中文字幕天堂不卡 | 午夜影视网 | 成人三级黄色片 |