Ich möchte eine self.attr
einer unittest.TestCase
Klasse verwenden, aber es scheint es zwischen den Tests nicht persistent ist:self.attr zwischen den Tests in unittest.TestCase setzt
import unittest
class TestNightlife(unittest.TestCase):
_my_param = 0
def test_a(self):
print 'test A = %d' % self._my_param
self._my_param = 1
def test_b(self):
print 'test B = %d' % self._my_param
self._my_param = 2
if __name__ == "__main__":
unittest.main()
Dies ergibt die folgende Ausgabe:
Ändert die Instanz unittest.TestCase
zwischen Testläufen? Warum?
** Motivation: ** Natürlich können Sie nicht Prüfauftrag, aber manchmal ein bestimmte Test verändert etwas in der Umwelt übernehmen und ein weiterer Test wissen sollte, wenn es bereits geändert oder nicht, um bestimmte Aktionen zu ergreifen oder zu unterlassen. Manchmal ist es einfacher und lesbarer, diese Informationen in einer Variablen zu speichern, anstatt Hilfsfunktionen zu verwenden, die den Zustand des Berichts überprüfen. Selbst wenn Sie mit dieser Vorstellung nicht einverstanden sind, ist es immer noch interessant zu wissen, was zwischen den Tests mit sich selbst passiert. Die Frage ist also interessant. – Jonathan