python - unittest中文 - unit test教學




解釋測試用例中使用的“setUp”和“tearDown”Python方法 (2)

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

https://code.i-harness.com


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

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


您可以使用這些來分解測試套件中所有測試的通用代碼。

如果測試中有很多重複的代碼,可以通過將此代碼移動到setUp / tearDown來縮短代碼。

您可以使用它來創建測試數據(例如設置假貨/模擬),或者用假貨來剔除功能。

如果您正在進行集成測試,則可以在setUp中使用檢查環境前提條件,如果未正確設置某些內容,則跳過測試。

例如:

class TurretTest(unittest.TestCase):

    def setUp(self):
        self.turret_factory = TurretFactory()
        self.turret = self.turret_factory.CreateTurret()

    def test_turret_is_on_by_default(self):
        self.assertEquals(True, self.turret.is_on())

    def test_turret_turns_can_be_turned_off(self):
        self.turret.turn_off()
        self.assertEquals(False, self.turret.is_on())




unit-testing