開(kāi)場(chǎng)白:如果你查一下這個(gè)名詞模擬在字典中你會(huì)發(fā)現(xiàn)這個(gè)詞的一個(gè)定義是仿制品,仿制品.
模擬主要用于單元測(cè)試。被測(cè)試對(duì)象可能依賴(lài)于其他(復(fù)雜)對(duì)象。要隔離對(duì)象的行為,需要用模擬真實(shí)對(duì)象行為的模擬來(lái)替換其他對(duì)象。如果實(shí)際的對(duì)象不實(shí)際地合并到單元測(cè)試中,這是有用的。
簡(jiǎn)而言之,模仿就是創(chuàng)建模擬真實(shí)對(duì)象行為的對(duì)象。
有時(shí)你可能想要區(qū)分嘲弄相對(duì)于頑固不化..在這個(gè)主題上可能有一些分歧,但我對(duì)存根的定義是一個(gè)“最小”的模擬對(duì)象。存根實(shí)現(xiàn)的行為剛好足以允許被測(cè)試對(duì)象執(zhí)行測(cè)試。
模擬與存根類(lèi)似,但測(cè)試也將驗(yàn)證被測(cè)試對(duì)象是否按預(yù)期調(diào)用模擬。測(cè)試的一部分是驗(yàn)證模擬是否正確使用。
舉個(gè)例子:您可以通過(guò)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的內(nèi)存中存儲(chǔ)記錄的結(jié)構(gòu)來(lái)對(duì)數(shù)據(jù)庫(kù)進(jìn)行存根。然后,被測(cè)試對(duì)象可以將記錄讀寫(xiě)到數(shù)據(jù)庫(kù)存根,從而允許它執(zhí)行測(cè)試。這可以測(cè)試與數(shù)據(jù)庫(kù)無(wú)關(guān)的對(duì)象的某些行為,并且只為了讓測(cè)試運(yùn)行,就會(huì)包含數(shù)據(jù)庫(kù)存根。
如果要驗(yàn)證被測(cè)試的對(duì)象是否將某些特定數(shù)據(jù)寫(xiě)入數(shù)據(jù)庫(kù),則必須模擬數(shù)據(jù)庫(kù)。然后,您的測(cè)試將包含有關(guān)寫(xiě)入數(shù)據(jù)庫(kù)模擬的內(nèi)容的斷言。