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

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUnit及其相關的單元測試技術
作者:網絡轉載 發布時間:[ 2013/8/2 10:40:17 ] 推薦標簽:

  1.2.2 JUnit4引入了一個JUnit3中沒有的新特性——類范圍的 setUp() 和tearDown() 方法。

  任何用 @BeforeClass 注釋的方法都將在該類中的測試方法運行之前剛好運行一次,而任何用@AfterClass注釋的方法都將在該類中的所有測試都運行之后剛好運行一次。

  1.2.3 異常測試:

  異常測試是Junit4中的大改進。Junit3的異常測試是在拋出異常的代碼中放入try塊,然后在try塊的末尾加入一個fail()語句。

  例如該方法測試一個被零除拋出一個ArithmeticException:

  該方法不僅難看,而且試圖挑戰代碼覆蓋工具,因為不管測試是否通過還是失敗,總有一些代碼不被執行。在JUni4中,可以編寫拋出異常的代碼,并使用注釋來聲明該異常是預期的:

  如果沒有異常拋出或者拋出一個不同的異常,那么測試將失敗。

  1.2.4 JUnit4添加了兩個比較數組的assert() 方法:

  public static void assertEquals(Object[] expected,Object[]actual)

  public static void assertEquals(String message, Object[]expected,Object[] actual)

  這兩個方法以直接的方式比較數組:如果數組長度相同,且每個對應的元素相同,則兩個數組相等,否則不相等。數組為空的情況也作了考慮。

  1.3 JUnit 4 常用的幾個annotation 介紹

  ★ @Before:初始化方法,在任何一個測試執行之前必須執行的代碼;

  ★ @After:釋放資源,在任何測試執行之后需要進行的收尾工作;

  ★@Test:測試方法,表明這是一個測試方法。對于方法的聲明也有如下要求:名字可以隨便取,沒有任何限制,但是返回值必須為void,而且不能有任何參數。如果違反這些規定,會在運行時拋出一個異常。至于方法內該寫些什么,那要看你需要測試些什么了;在這里可以測試期望異常和超時時間,如@Test(timeout=100),我們給測試函數設定一個執行時間,超過了這個時間(100毫秒),它們會被系統強行終止,并且系統還會向你匯報該函數結束的原因是因為超時,這樣你可以發現這些Bug了。

  ★@Ignore:忽略的測試方法,標注的含義是“某些方法尚未完成,暫不參與此次測試”;這樣的話測試結果會提示你有幾個測試被忽略,而不是失敗。一旦你完成了相應函數,只需要把@Ignore標注刪去,可以進行正常的測試。

  ★ @BeforeClass:針對所有測試,只執行一次,且必須為static void;

  ★ @AfterClass:針對所有測試,只執行一次,且必須為static void;

  所以一個Junit 4 的單元測試用例執行順序為:@BeforeClass –> @Before –>@Test–> @After –> @AfterClass;每一個測試方法的調用順序為:@Before –>@Test–> @After。

  如下面例子:

  import static org.junit.Assert.*; importorg.junit.After;importorg.junit.AfterClass;importorg.junit.Before;importorg.junit.BeforeClass;importorg.junit.Ignore;importorg.junit.Test; public class JUnit4Test{

  @Before

  public void before() {

  System.out.println(@Before);

  }

  @Test

  public void test() {

  System.out.println(@Test);

  assertEquals(5 + 5, 10);

  }

  @Ignore

  @Test

  public void testIgnore() {

  System.out.println(@Ignore);

  }

  @Test(timeout = 50)

  public void testTimeout() {

  System.out.println(@Test(timeout = 50));

  assertEquals(5 + 5, 10);

  }

  @Test(expected = ArithmeticException.class)

  public void testExpected() {

  System.out.println(@Test(expected = Exception.class));

  throw new ArithmeticException();

  }

  @After

  public void after() {

  System.out.println(@After);

  }

  @BeforeClass

  public static void beforeClass() {

  System.out.println(@BeforeClass);

  };

  @AfterClass

  public static void afterClass() {

  System.out.println(@AfterClass);

  };

  };

上一頁1234下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 免费成人黄色大片 | 爱搞视频首页在线 | 日韩亚洲欧美性感视频影片免费看 | 中文在线免费看视频 | 日韩三级不卡 | 精品国产一区二区三区免费 | 手机在线 | 一边脱一边摸一边揉免费 | 国产亚洲精品拍拍拍拍拍 | 成人精品一区二区三区校园激情 | 黄色片一区 | 国产视频一区二区三区四区 | 色一色综合 | a网站在线观看 | 欧美精品一区二区三区免费观看 | 欧美亚洲国产精品久久久久 | 午夜成人免费视频 | 国产精品久久久久久一区二区三区 | 人人人人凹人人爽人人澡 | 日本二区在线观看 | 久久怡红院国产精品 | 欧美一级级a在线观看 | 免费看男人靠女人靠到爽 | 天堂va亚洲va欧美va国产 | 国产成人啪精品视频免费软件 | 亚洲国产成人精彩精品 | 欧美一级美片在线观看免费 | 黄色三级视频 | 黄色影片免费在线观看 | 欧美性猛交xxx黑人猛交 | 黄色片www| 久久综合视频网 | 欧美黄色一级在线 | 亚洲视频精品在线 | 激情亚州 | 日本亚洲欧美美色 | 国产成人精品一区二三区2022 | 成人免费高清 | 黄色一级大片儿 | 噜噜色综合噜噜色噜噜色 | 最黄毛片|