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

您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > junit
JUNIT單元測試
作者:梅花瘦 發布時間:[ 2017/6/29 9:38:39 ] 推薦標簽:單元測試 Junit

  我們在大型程序開發工作的時候,需要寫成千上萬個方法,這些方法的功能可能很強大,但我們在程序中只用到該方法的一小部分功能,并且經過調試可以確定,這一小部分功能是正確的。但是,我們同時應該確保每一個方法都完全正確,因為如果我們今后如果對程序進行擴展,用到了某個方法的其他功能,而這個功能有bug的話,那是一件非常郁悶的事情。所以說,每編寫完一個方法之后,都應該對這個方法的方方面面進行測試,這樣的測試我們稱之為單元測試。傳統的編程方式,進行單元測試是一件很麻煩的事情,你要重新寫另外一個程序,在該程序中調用你需要測試的方法,并且仔細觀察運行結果,看看是否有錯。正因為如此麻煩,所以程序員們編寫單元測試的熱情不是很高。于是有一個牛人推出了單元測試包,大大簡化了進行單元測試所要做的工作,這是JUnit4。本文簡要介紹一下在Eclipse中使用JUnit4進行單元測試的方法。
  一.測試環境的搭建:
  1. 被測試類的創建:

  首先新建一個項目叫JUnit_Test,我們編寫一個Calculator類,這是一個能夠簡單實現加減乘除、平方、開方的計算器類,然后對這些功能進行單元測試。這個類并不是很完美,我們故意保留了一些Bug用于演示,這些Bug在注釋中都有說明。該類代碼如下:
  public class Calculator {
  // 靜態變量,用于存儲運行結果
  private static double result;
  public void add(double n) {
  result = result + n;
  }
  //Bug: 正確的應該是 result = result-n
  public void substract(double n) {
  result = result - 1; 
  }
  public void multiply(double n) {
  // 此方法尚未寫好
  }
  public void divide(double n) {
  result = result / n;
  }
  public void square(double n) {
  result = n * n;
  }
  //Bug : 死循環
  public void squareRoot(double n) {
  for (; ;) ;           
  }
  // 將結果清零
  public void clear() {
  result = 0;
  }
  public double getResult() {
  return result;
  }
  }
  2. 測試類的創建:
  在Eclipse中創建單元測試類:
  (1).New --> Junit Test Case

  (2).選擇要覆蓋的方法

  (3).生成模板:
  public class CalculatorTest {
  @BeforeClass
  public static void setUpBeforeClass() throws Exception {
  }
  @AfterClass
  public static void tearDownAfterClass() throws Exception {
  }
  @Before
  public void setUp() throws Exception {
  }
  @After
  public void tearDown() throws Exception {
  }
  @Test
  public void testAdd() {
  fail("Not yet implemented");
  }
  @Test
  public void testSubstract() {
  fail("Not yet implemented");
  }
  @Test
  public void testMultiply() {
  fail("Not yet implemented");
  }
  @Test
  public void testDivide() {
  fail("Not yet implemented");
  }
  @Test
  public void testSquare() {
  fail("Not yet implemented");
  }
  @Test
  public void testSquareRoot() {
  fail("Not yet implemented");
  }
  @Test
  public void testClear() {
  fail("Not yet implemented");
  }
  @Test
  public void testGetResult() {
  fail("Not yet implemented");
  }
  }
  二、單元測試類的編寫:
  1. 前置和后置方法設置:

  private static Calculator calculator;
  @BeforeClass
  public static void setUpBeforeClass() throws Exception {
  calculator = new Calculator();
  }
  @AfterClass
  public static void tearDownAfterClass() throws Exception {
  calculator = null;
  }
  @Before
  public void setUp() throws Exception {
  calculator.clear();
  }
  @After
  public void tearDown() throws Exception {
  calculator.clear();
  }
  (2). 測試類的設置:   
  @Test
  public void testAdd() {
  calculator.add(2);
  calculator.add(3);
  assertEquals(5, calculator.getResult());
  }
  (3). 忽略位完成的測試類:@Ignore
  @Test
  @Ignore
  public void testSubstract() {
  fail("Not yet implemented");
  }
  (4). 測試:
  @Test(timeout  =   1000 )
  public void testSquare() {
  calculator.squareRoot( 4 );
  assertEquals( 2 , calculator.getResult());
  }
  (5). 異常測試:
  @Test(expected  =  ArithmeticException. class )
  public void testDivide() {
  calculator.divide( 0 );
  }

軟件測試工具 | 聯系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網站地圖
滬ICP備07036474 2003-2017 版權所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd
主站蜘蛛池模板: 国产网站91 | 久久久久免费精品国产 | 人人人爽 | 黄色免费在线观看网址 | 中文字幕第九页 | 狠狠欧美 | 欧洲一级视频 | 午夜高清| 九九精品在线播放 | 么公又大又硬又粗又爽小说 | 国产成人精彩在线视频50 | 亚洲国产91 | 青娱乐伊人 | 久久澡人人澡狠狠澡 | zzji国产精品视频 | 成人国产第一区在线观看 | 欧美高清视频性播放 | 成人影视免费观看 | 影音先锋最新资源网 | 香蕉久久综合 | 一区二区不卡在线 | 日韩 欧美 亚洲国产 | 伊人网视频在线观看 | 国产视频网站在线 | 伊人五月天婷婷 | 精品一区二区三区影院在线午夜 | 国产91成人 | 男人使劲桶女人下面动态图片 | 欧美一级裸片 | 日韩三级一区二区三区 | 亚洲欧美韩国日产综合在线 | 久久综合九色综合网站 | 国产色婷婷精品免费视频 | 亚洲激情成人网 | 亚洲h片| 亚洲国产成人久久综合碰 | 亚洲国产成人资源在线软件 | 麻豆国内精品久久久久久 | 性欧美黑人巨大videos | 日韩免费高清一级毛片 | 日本高清视频wwww色 |