您的位置:軟件測試 > 開源軟件測試 > 開源單元測試工具 > TestNG
使用單元測試工具TestDriven.NET調(diào)試程序
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/3/27 15:08:06 ] 推薦標簽:

  幾種調(diào)試方式

  ◆ 內(nèi)嵌調(diào)試

  所謂內(nèi)嵌調(diào)試是指在方法中有參數(shù)的情況下采取的一種簡便的調(diào)試方式。

  例如我們需要調(diào)試如下方法:

public int CountAAddB(int a, int b)
{
return a + b;
}

  為了調(diào)試這個方法,我們采取在方法內(nèi)部初始化參數(shù)的方法來調(diào)試。

public int CountAAddB(int a, int b)
     {
         a = 2;
b = 3;
return a + b;
}

  然后利用TestDriven.NET 調(diào)試。

  內(nèi)嵌調(diào)試是調(diào)試包含輸入?yún)?shù)的方法時,將輸入的參數(shù)在方法內(nèi)部賦值,調(diào)試/測試完畢后,再刪除內(nèi)部的賦值。這種方法相當節(jié)省時間,但是不利于重復(fù)調(diào)試/測試。

  其實內(nèi)嵌調(diào)試并不能算是一種很正規(guī)的調(diào)試/測試方法,但是我們編程過程中會遇到如下問題:第一:當一個方法返回類型為void 時,你編寫單元測試代碼如何去測試其正確性?第二,當一個方法是private 時,你用單元測試工具編寫測試相當麻煩(網(wǎng)上有人寫過用反射來測試private方法,但是相當麻煩)。而內(nèi)嵌調(diào)試在方法內(nèi)部快捷而簡單。

  這里我還想說一點的是,我們調(diào)試的預(yù)設(shè)值調(diào)試完畢后,注釋掉,方便下次變動的時候在此調(diào)試。這樣避免忘記調(diào)試/測試用例。

  ◆ 內(nèi)接調(diào)試

  內(nèi)接調(diào)試是指內(nèi)部接口調(diào)試。例如我們需要測試CountAAddB 方法,我們編寫了一個新的測試方法:

public void TestCountAAddB()
{
int i = CountAAddB(1, 2);
}

  然后調(diào)試這個方法,跟進到CountAAddB 方法里面。

  內(nèi)接調(diào)試是編寫樁模塊來調(diào)試被調(diào)試方法,在樁模塊中斷點,然后跟進到被調(diào)試方法中。這種方法需要增加一個額外的調(diào)試方法,可以進行重復(fù)調(diào)試/測試。

  這個編寫的測試方法,可以在要調(diào)試類里面,也可以在要調(diào)試類外面。

  ◆ 外接調(diào)試

  外接調(diào)試是指外部接口調(diào)試。例如我們需要調(diào)試CountAAddB方法,這個方法在ProjectCount 中,我們新建一個新的工程TestProCount,然后在這個工程里面引用ProjectCount 工程,在新建工程TestProCount 定義調(diào)試方法TestCountAAddB,斷點后然后步進到ProjectCount工程中的CountAAddB 方法進行調(diào)試。

  ◆ 烤串調(diào)試

  烤串調(diào)試是指測試某一個基于其它方法的基方法,像調(diào)試一串烤串。例如我們要測試如下代碼中Count方法:

public int CountAAddB(int a, int b)
{
   return a + b;
}
public int CountAMultiplyB(int a, int b)
{
   return a * b;
}
public void Count()
{
   int i = CountAAddB(1, 2);
   int j = CountAMultiplyB(3, 4);
   int ij = i + j;
}

  Count 方法應(yīng)用了兩個方法:CountAAddB和CountAMultiplyB,通常我們調(diào)試Count方法,也完成了對CountAAddB和CountAMultiplyB的調(diào)試。

上一頁123下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd