Registrierungsmethode für TearDown in Python unittest?

Sep 12 2020

Ich habe zwei Szenarien für diese
00-Mock-Methode und registriere den Methodenaufruf zum sofortigen Entsperren.
01 Füge einige Fixture-Zeilen ein, um die Datenbank zu testen, und registriere den Methodenaufruf, um sie sofort zu bereinigen

Ich kann diese clean up methodbei tearDown () aufrufen, aber das wird in Hunderten meiner Testklassen erscheinen.

Gibt es eine Möglichkeit, eine Methode zu registrieren, die beim Aufruf von tearDown () ausgeführt wird?

ps

Meine Suche ist bei Google hier und bei unserem Stackoverflow hier nicht hilfreich

Antworten

NamGVU Sep 15 2020 at 16:46

Verwenden Sie addCleanup() versuchen Sie es

import unittest


def my_code(my_var):
  print(f'in my_code with my_var={my_var}')


class Test(unittest.TestCase):

  def test(self):
      # your test goes here
      self.addCleanup(my_code, my_var='some value')  # register this clean up when test ended