2017-08-13 92 views
0

我對Python非常陌生,在Github上看到很多使用Mock進行測試的項目,但我不明白爲什麼。
當我們使用模擬,我們構建了一個模仿對象具有特定RETURN_VALUE,我不忠實地明白爲什麼我們這樣做。我知道有時很難建立我們所需的資源,但是如果我們構造一個具有某個返回值的對象/函數,那又有什麼意義呢?Python - 爲什麼我們應該使用模擬來做測試?

+0

其狀如存根和driver..some其他發展,我們不知道實現存根但我們知道的輸出 –

+0

在你認爲你被要求開發平均功能..但一些身體其他開發添加功能方面容易..所以你只是使用返回的添加來執行你的平均功能 –

+0

我們想測試_our_代碼正常工作;我們不想測試外部資源的內部運作。 –

回答

1

模擬可以幫助編寫單元測試。 在單元測試中,您想測試一小部分實現。例如,像一個功能或一個類一樣小。

在一箇中等大小的軟件,這些小零件互相依賴。或者有時會存在外部依賴性。您可以打開文件,執行系統調用或以其他方式獲取外部數據。

在寫代碼的一小部分定向單元測試,你不想花時間去建立周圍的一切它別的。 (文件,系統調用,外部數據)。模擬來到你的幫助。通過模擬,您可以使代碼的其他依賴性按照您的喜好行事。這樣您就可以專注於測試您的預期實現。

即將與返回值的模擬:假設你想測試func_afunc_a調用func_bfunc_b做了很多時髦的處理來計算其返回值。例如,與外部服務通話,執行一堆系統調用或其他一些昂貴的操作。由於您正在測試func_a,因此您只關心可能的返回值func_b。 (因此func_a可以使用它們)在這種情況下,您可以模擬func_b並明確設置返回值。這可以真正簡化您的測試複雜性。

相關問題