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

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
總結TestNg與Junit的異同
作者:網絡轉載 發布時間:[ 2015/2/27 14:36:14 ] 推薦標簽:TestNG Junit

  相同點:
  1.都可以做忽略測試,可以忽略某個測試方法(在方法上面注釋),也可以忽略某個測試類(在類的上面注釋)
  testNg:
  @Test(enabled = false)
  Junit:
  @Ingore
  @Test
  2.都支持數據驅動測試,只是用法不一樣
  testng中可以用@DataProvider,參數化是在測試級別的,不需要通過構造函數來傳遞參數,它會自動映射。
  舉例:
//表示這個方法將提供數據給任何聲明它的data provider名為“test1”的測試方法中
@DataProvider(name = "test1")
public Object[][] createData1() {
return new Object[][] {
{ "Cedric", new Integer(36) },
{ "Anne", new Integer(37)},
};
}
//下面這個方法將要調用名為test1的data provider提供的數據
@Test(dataProvider="test1")
public void verifyDta(String n1,Integer n2){
System.out.println(n1 + " " + n2);
}
  需要注意的是@Test(dataProvider=)和@DataProvider(name=)可以在同一個類中,使用方法如上;如果不在同一個類中,那么必須把@DataProvider(name=)所在的類的這個方法定義成static靜態方法。
  并且在@Test使用的時候需要制定類。用法是@Test(dataProvider="",dataProviderClass=(@DataProvider所在的類).class)
  而在junit中麻煩多了。junit中的參數化是在類級別的,需要通過構造函數來傳遞參數。
  如下:
  package demo;
  public class Try {
  public  int result=3;
  public  int add(int n) {
  result += n;
  return result;
  }
  }
  測試代碼:
package demo;
import static org.junit.Assert.assertEquals;
import java.util.Arrays;
import java.util.Collection;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.junit.runners.Parameterized;
import org.junit.runners.Parameterized.Parameters;
//步驟1.指定特殊的運行器Parameterized.class
@RunWith(Parameterized.class)
public class TryTest {
// 步驟2:為測試類聲明幾個變量,分別用于存放期望值和測試所用數據。此處我只放了測試所有數據,沒放期望值。
private int param, result;
// 步驟3:申明構造函數
public TryTest(int param, int result) {
super();
this.param = param;
this.result = result;
}
// 步驟4:定義測試數據的集合,該方法可以任意命名
// 但是必須使用@Parameters標注進行修飾
// 這個方法的框架不予解釋了,大家只需要注意其中的數據,是一個二維數組,數據兩兩一組
// 每組中的這兩個數據,一個是參數,一個是你預期的結果。
// 比如我們的第一組{4, 7},4是參數,7是預期的結果。分別對應上面構造函數的param和result
@Parameters
public static Collection<Object[]> testDate() {
Object[][] object = { { 1, 4 }, { 3, 6 }, { 1, 3 } };
return Arrays.asList(object);
}
// 步驟5:編寫測試方法,使用定義的變量作為參數進行測試
// 這里的編寫方法和以前的測試方法一樣
@Test
public void testAdd() {
Try test = new Try();
assertEquals(result, test.add(param));
}
}
  3.超時測試,是在規定時間內如果沒有測試完成,認定測試失敗
  @Test(timeout=100)
  4.異常測試,是在運行這個單元測試的時候應該要捕獲到指定的異常,才算測試成功

上一頁12下一頁
軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 成人在线不卡 | 77788色淫网站免费观看 | 1插菊花| 欧美日韩视频精品一区二区 | 欧美日韩在线视频免费完整 | 黄色片一级视频 | 久久天天丁香婷婷中文字幕 | www精品视频 | 久久精品国产亚洲精品2020 | 无遮挡男女激烈免费动态图 | 91老司机精品视频 | 色综合久久综合网 | 香蕉色香蕉在线视频 | 色黄啪啪网18以下勿进动画 | 欧美亚洲日本一区 | 欧美视频xx| 欧产日产国产精品专区 | 久久天天躁狠狠躁夜夜躁综合 | 日韩一级黄色毛片 | 欧美人成在线 | 九九久久国产 | 亚洲国产成人久久三区 | 亚洲国产成人久久综合区 | 日本啪啪网 | 亚洲国产精品第一区二区 | 国产一线大片免费观看 | 欧美成人观看免费完全 | www在线视频 | 精品国产免费人成网站 | 成人视品| 亚洲图片视频在线观看 | 国产精品v欧美精品v日韩精品 | 狠狠色狠狠色综合日日92 | 欧美一区二区三区精品 | 成人免费观看在线视频 | 欧美性极品hd高清视频 | 色啊色 | 中文字幕欧美日韩高清 | 亚洲日本va中文字幕久久 | 99久久免费国产特黄 | 99精品久久久久久久免费看蜜月 |