自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

JUnit測(cè)試骨架簡(jiǎn)介

開(kāi)發(fā) 測(cè)試
本文介紹了JUnit測(cè)試骨架。JUnit是由 Erich Gamma 和 Kent Beck 編寫(xiě)的一個(gè)回歸測(cè)試框架(regression testing framework)。Junit測(cè)試是程序員測(cè)試,即白盒測(cè)試。

JUnit是由 Erich Gamma 和 Kent Beck 編寫(xiě)的一個(gè)回歸測(cè)試框架(regression testing framework)。Junit測(cè)試是程序員測(cè)試,即白盒測(cè)試。該項(xiàng)目主頁(yè):http://www.junit.org/

JUnit測(cè)試骨架

使用JUnit時(shí),主要都是通過(guò)繼承TestCase類(lèi)別來(lái)撰寫(xiě)測(cè)試用例,使用testXXX()名稱(chēng)來(lái)撰寫(xiě)單元測(cè)試。

用JUnit寫(xiě)測(cè)試真正所需要的就三件事:

1.  一個(gè)import語(yǔ)句引入所有junit.framework.*下的類(lèi)。

2.  一個(gè)extends語(yǔ)句讓你的類(lèi)從TestCase繼承。

3.  一個(gè)調(diào)用super(string)的構(gòu)造函數(shù)。

功能類(lèi)MathTool

  1. package com.zj.c01;
  2. public class MathTool {  
  3.     public static int gcd(int num1, int num2) {  
  4.        int r = 0;  
  5.        while (num2 != 0) {  
  6.            r = num1 % num2;  
  7.            num1 = num2;  
  8.            num2 = r;  
  9.        }  
  10.        return num1;  
  11.     }  
  12. }  

測(cè)試類(lèi)MathToolTest

  1. package com.zj.c01;
  2. import junit.framework.TestCase;  
  3.    
  4. public class MathToolTest extends TestCase {  
  5.     public MathToolTest(String name) {  
  6.        super(name);  
  7.     }  
  8.    
  9.     public void testGcd() {  
  10.        assertEquals(5, MathTool.gcd(105));  
  11.     }  
  12. }  

使用Eclipse-Run As JUnit Test

在運(yùn)行TestRunner執(zhí)行測(cè)試時(shí),你會(huì)發(fā)現(xiàn)到有Failure與Error兩種測(cè)試尚未通過(guò)的信息。

Failure指的是預(yù)期的結(jié)果與實(shí)際運(yùn)行單元的結(jié)果不同所導(dǎo)致,例如當(dāng)使用assertEquals()或其它assertXXX()方法斷言失敗時(shí),就會(huì)回報(bào)Failure,這時(shí)候要檢查你的單元方法中的邏輯設(shè)計(jì)是否有誤。

Error指的是你的程序沒(méi)有考慮到的情況,在斷言之前程序就因?yàn)槟撤N錯(cuò)誤引發(fā)例外而終止,例如在單元中存取某個(gè)數(shù)組,因?yàn)榇嫒〕鏊饕l(fā) ArrayIndexOutOfBoundsException,這會(huì)使得單元方法無(wú)法正確完成,在測(cè)試運(yùn)行到asertXXXX()前就提前結(jié)束,這時(shí)候要檢查你的單元方法中是否有未考慮到的情況而引發(fā)流程突然中斷。

JUnit的各種斷言

JUnit提供了一些輔助函數(shù),用于幫助你確定某個(gè)被測(cè)試函數(shù)是否工作正常。通常而言,我們把所有這些函數(shù)統(tǒng)稱(chēng)為斷言。斷言是單元測(cè)試最基本的組成部分。

1. assertEquals([String message], expected,actual)

比較兩個(gè)基本類(lèi)型或?qū)ο笫欠裣嗟龋╡xpected和actual是原始類(lèi)型數(shù)值(primitive value)或者必須為實(shí)現(xiàn)比較而具有equal方法);

2.assertFalse([String message],boolean condition)

對(duì)布爾值求值,看它是否為“真“;

3.assertTrue([String message],boolean condition)

對(duì)布爾值求值,看它是否為“假“;

4.assertNull([String message],java.lang.Object object)

檢查對(duì)象是否為“空“;

5.assertNotNull([String message],java.lang.Object object)

檢查對(duì)象是否不為“空”;

6.assertSame([String message],expected,actual)

檢查兩個(gè)對(duì)象是否為同一實(shí)例;

7.assertNotSame([String message],expected,actual)

檢查兩個(gè)對(duì)象是否不為同一實(shí)例;

8. fail( String message )

使測(cè)試立即失敗,其中 message 參數(shù)使可選的。這種斷言通常被用于標(biāo)記某個(gè)不應(yīng)該到達(dá)的分支(例如,在一個(gè)預(yù)期發(fā)生的異常之后) 。

JUnit測(cè)試骨架就先介紹到這里。本文出自 “子 孑” 博客。

【編輯推薦】

責(zé)任編輯:yangsai 來(lái)源: 51CTO博客
相關(guān)推薦

2011-03-30 16:54:13

JUnit

2012-09-13 11:08:53

IBMdw

2013-01-07 13:54:17

Android開(kāi)發(fā)JUnit單元測(cè)試

2009-07-15 17:49:09

Jython開(kāi)發(fā)

2012-02-07 09:08:50

Feed4JUnitJava

2011-08-11 13:02:43

Struts2Junit

2012-03-13 16:14:09

JavaJUnit

2020-12-30 07:08:27

Java方法測(cè)試

2017-01-14 23:26:17

單元測(cè)試JUnit測(cè)試

2017-01-16 12:12:29

單元測(cè)試JUnit

2011-11-18 15:18:41

Junit單元測(cè)試Java

2009-08-19 04:15:00

線性鏈表

2021-01-07 14:06:30

Spring BootJUnit5Java

2010-06-03 09:13:35

2021-08-26 11:00:54

Spring BootJUnit5Java

2012-04-26 13:46:04

ibmdw

2009-06-08 20:04:06

EclipseJUnit4單元測(cè)試

2022-07-04 05:59:18

KotlinJUnit5數(shù)據(jù)庫(kù)

2009-05-04 09:28:36

JunitJava

2009-06-08 19:59:09

EclipseJUnit單元測(cè)試
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)