談談單元測試中的測試樁實踐 2

2021-08-30 01:47:03 字數 2202 閱讀 4590

首先定義乙個clock

介面。並為clock

,顧名思義其實就是實現了clock

的ntpclock

,另乙個是systemclock

,它就提供系統當前時間作為標準時間。

packageshannon.demo;

/**

*

clock

isan

inte***ce

forall

theclock

toprovide

time. *

@author

shannon

qian */

publicinte***ceclock

同時,我們定義乙個unittestfirewall

類,維護乙個debugging

標記。並提供乙個getclock()

類工廠方法,返回clock

物件。

packageshannon.demo;

importthirdparty.any.ntpclock;

/**

*

unittestfirewall

isthe

facilityto

*ease

unit

test *

@author

shannon

qian */

publicfinalclassunittestfirewall

/**sets

debugging

flag

astrue

ifit's

time

tounit

test. *

@paramon-

thedebugging

toset,

true

foron

andfalse *

foroff */

publicstaticvoidsetdebugging(booleanon)

privatefinalstaticntpclock

_ntpclock

=newntpclock();

privatestaticclas******mentsclock }

privatestaticclasssystemclockimplementsclock }

privatestaticsystemclock

sysclock

=null;

privatestatic

ntpclock

= null;

/**returns

theclock

instance

for

systemtimesynchronizer *

's

invocation. *

@return

-clock

instance */

publicstaticclock getclock()

else}

} (未完待續)

單元測試 二 樁物件

在單元測試時,難免會碰到一些外部依賴,外部依賴是指在系統中 與其互動的物件,而且無法對其做人為控制,比如檔案系統 執行緒 記憶體 時間 資料庫結果集等,這時可以使用偽物件 fake 來替代外部依賴,樁物件 stub 便是其中之一 一 樁物件 a 樁物件是對系統中現有依賴項的乙個替代品,可人為控制。通...

單元測試 二 樁物件

在單元測試時,難免會碰到一些外部依賴,外部依賴是指在系統中 與其互動的物件,而且無法對其做人為控制,比如檔案系統 執行緒 記憶體 時間 資料庫結果集等,這時可以使用偽物件 fake 來替代外部依賴,樁物件 stub 便是其中之一 一 樁物件 a 樁物件是對系統中現有依賴項的乙個替代品,可人為控制。通...

單元測試關於樁函式的探索

背景 c語言編寫的目標檔案,在做單元測試的時候,在目標c檔案 如target.c 中想測試乙個函式a,而a呼叫了b,b目前無法實現,所以需要打樁來代替b.在不改變target.c的前提下 不修改程式的 在另外的c檔案中 test.c 寫樁函式,怎樣讓a函式執行的時候呼叫樁函式,而不是原來的b函式呢?...