2 回答

TA貢獻(xiàn)1799條經(jīng)驗(yàn) 獲得超9個(gè)贊
將測試委托引入您的代碼。
將您的循環(huán)提取到一個(gè)函數(shù)中,該函數(shù)接受 2 個(gè)函數(shù)作為參數(shù):onBeginEvent 和 onEndEvent。函數(shù)簽名應(yīng)采用:
聲明您要在測試用例中檢查
可選:循環(huán)編號的計(jì)數(shù)器(因此您可以識別每個(gè)循環(huán))。它是可選的,因?yàn)閷?shí)際的委托實(shí)現(xiàn)可以計(jì)算它被自身調(diào)用的次數(shù)。
在循環(huán)開始時(shí),您調(diào)用 OnBegingEvent(counter, currentState); 比您的代碼完成其正常工作,最后您調(diào)用 OnEndEvent(counter, currentState); 大概你的代碼已經(jīng)改變了 currentState。
在生產(chǎn)中,您可以使用函數(shù)委托的空實(shí)現(xiàn)或在循環(huán)中實(shí)現(xiàn) nil 檢查。
您可以使用此模型根據(jù)需要對處理算法進(jìn)行盡可能多的檢查。假設(shè)您有 5 張支票?,F(xiàn)在你回過頭來看它并意識到這變得太難了。您創(chuàng)建一個(gè)接口來定義您的回調(diào)函數(shù)。這些回調(diào)函數(shù)是改變服務(wù)行為的強(qiáng)大方法。你再退一步,意識到接口實(shí)際上是你的“服務(wù)策略”;)
一旦你走那條路,你就會想以某種方式停止你的無限循環(huán)。如果您想在測試用例中進(jìn)行嚴(yán)格控制,您可以采用第三個(gè)函數(shù)委托,如果需要退出循環(huán),該委托將返回 true。共享變量是控制退出條件的選項(xiàng)。
這當(dāng)然是比單元測試更高級別的測試,并且在復(fù)雜的服務(wù)中是必要的。

TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超4個(gè)贊
是的,這是可能的。將循環(huán)內(nèi)的代碼放在一個(gè)單獨(dú)的函數(shù)中,并在沒有循環(huán)的情況下對該函數(shù)進(jìn)行單元測試。
- 2 回答
- 0 關(guān)注
- 173 瀏覽
添加回答
舉報(bào)