国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

JBuilder2005單元測試之捆綁多個用例

2019-11-18 15:40:34
字體:
來源:轉載
供稿:網友

  目前我們只為Subsection類生成了一個測試用例,在這節里,我們按照前述的方法,通過Test Case向導為StringUtils類創建一個測試用例代碼框架,并編寫測試方法,然后將這兩個測試用例捆綁組合在一個測試套件中一起運行。

  選中StringUtils類,通過File->New..->Test,雙擊Test Case圖標為StringUtils類的string2Array()方法創建測試用例,接受默認的測試用例類名TestStringUtils。

  在向導生成的測試用例代碼框架中,刪除測試固件(因為是靜態方法,沒有必要用固件),即刪除StringUtils的成員變量聲明,setUp()和tearDown()方法。并在類中定義一個isArrayEquals()的方法,刪除向導生成的testString2Array()測試方法體中的內容,編寫自己的測試代碼,其最終代碼如下所示:

  代碼清單 錯誤!文檔中沒有指定樣式的文字。TestStringUtils:StringUtils類的測試用例

1. package chapter25;
2. import junit.framework.*;
3. public class TestStringUtils extends TestCase
4. {
5.  public void testString2Array() {
6.   String str1 = null, str2 = "", str3 = "a", str4 = "a,b,c",str5 = ",a,b,";
7.   String[] arr1 = null, arr2 = {""}, arr3 = {"a"}, arr4 = {"a", "b", "c"},
8.   arr5 = {"", "a", "b", ""}, trimArr5 = {"a", "b"};
9.
10.  assertNull(StringUtils.string2Array(str1, ',', false));
11.  assertTrue(isArrayEquals(arr1, StringUtils.string2Array(str1, ',', false)));
12.  assertTrue(isArrayEquals(arr2, StringUtils.string2Array(str2, ',', false)));
13.  assertTrue(isArrayEquals(arr3, StringUtils.string2Array(str3, ',', false)));
14.  assertTrue(isArrayEquals(arr4, StringUtils.string2Array(str4, ',', false)));
15.  assertTrue(isArrayEquals(arr5, StringUtils.string2Array(str5, ',', false)));
16.  assertTrue(isArrayEquals(trimArr5, StringUtils.string2Array(str5, ',', true)));
17.  assertFalse(isArrayEquals(StringUtils.string2Array(str5, ',', false),
18.  StringUtils.string2Array(str5, ',', true)));
19. }
20.
21. //判定兩個字符數組是否相等
22. PRivate boolean isArrayEquals(String[] arr1, String[] arr2) {
23.  if (arr1 == null arr2 == null) {
24.   if (arr1 == null && arr2 == null) {
25.    return true;
26.   } else {
27.    return false;
28.   }
29.  } else if (arr1.length != arr2.length) {
30.   return false;
31.  } else {
32.   for (int i = 0; i < arr1.length; i++) {
33.    if (!arr1[i].equals(arr2[i])) {
34.     return false;
35.    }
36.   }
37.   return true;
38.  }
39. }
40. }
  雖然JUnit框架提供了許多assertEquals()的重載方法,但卻沒有入參是兩字符串數組的assertEquals()重載方法,所以我們需要自己定義一個判定兩字符串數組是否相同的方法:isArrayEquals(),如第22~39行所示。

  在testString2Array()方法中,我們提供了覆蓋多數情況的字符串測試點(非凡轉換字符串和其目標值),如第6~8行所示。爾后調用assertXxx()設置測試規則。你也可以像上一節中的TestSubsection測試用例一樣運行它。

  注重:

  假如你在內容窗格TestStringUtils文件標簽上右擊,發現彈出的菜單中只有Run Test using "TestSubsection"時,請在Project->Project Properties...->Run->在Run設置頁中取消TestSubsection運行設置項的Context Menu選項,否則只會運行原TestSubsection的測試用例。

  只包括10個類左右的小型項目工程也許無需用到測試套件,僅通過逐一單獨運行測試用例來完成測試就可以了,但對于一個包含較多測試用例的工程,測試套件能給你帶來極大的方便,它將多個測試用例捆綁在一起運行,達到一呼而百應的批量處理效果。進入討論組討論。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 札达县| 嘉禾县| 若尔盖县| 姚安县| 美姑县| 稻城县| 鸡泽县| 黄浦区| 千阳县| 育儿| 子洲县| 崇阳县| 广水市| 定襄县| 大渡口区| 治县。| 房产| 五河县| 长顺县| 玛纳斯县| 濮阳县| 阳江市| 电白县| 谷城县| 天等县| 育儿| 阆中市| 芦山县| 莲花县| 塘沽区| 财经| 乐至县| 大余县| 本溪| 溆浦县| 历史| 北辰区| 柳林县| 镇康县| 泽州县| 宜君县|