python unittest中文 - 解釋測試用例中使用的“setUp”和“tearDown”Python方法




2 Answers

通常,您將所有先決條件步驟添加到setUp,並將所有清理步驟添加到tearDown。

您可以here閱讀更多示例。

定義setUp()方法時,測試運行器將在每次測試之前運行該方法。 同樣,如果定義了tearDown()方法,則測試運行器將在每次測試後調用該方法。

例如,您有一個需要項目存在或某些狀態的測試 - 因此您將這些操作(創建對象實例,初始化db,準備規則等)放入setUp。

另外你知道每個測試都應該停在它啟動的地方 - 這意味著我們必須將app狀態恢復到它的初始狀態 - 例如關閉文件,連接,刪除新創建的項目,調用事務回調等等 - 所有這些淚滴中包含了一些步驟。

因此,想法是測試本身應該只包含要在測試對像上執行的操作以獲得結果,而setUp和tearDown是幫助您保持測試代碼清潔和靈活的方法。

您可以為一組測試創建setUp和tearDown,並在父類中定義它們 - 因此您可以輕鬆地支持此類測試並更新常見準備和清理。

如果您正在尋找一個簡單的示例,請使用以下鏈接作為示例

test教學 tutorial

任何人都可以在編寫測試用例時解釋Python的setUptearDown方法的使用,除了在調用測試方法之前立即調用setUp並且在調用後立即調用tearDown嗎?




假設你有一個包含10個測試的套件。 8個測試共享相同的設置/拆卸代碼。 另外2個沒有。

設置和拆解為您提供了一個很好的方法來重構這8個測試。 現在你用其他兩個測試做什麼? 您將它們移動到另一個測試用例/套件。 所以使用setup和teardown也有助於提供一種自然的方法來將測試分解為案例/套件




Related

python unit-testing