Wenn ich versuche, setUpClass Methode zu verwenden, gibt es einen Fehler, das Attribut _cleanups nicht vorhanden ist in dem folgenden CodePython Unittest Hauptfunktion spöttische
@classmethod
def setUpClass(self):
self.argv = ['installation_tool.py']
argv_patcher = patch.object(sys, 'argv', self.argv)
self.addCleanup(self, argv_patcher.stop)
self.argv_mock = argv_patcher.start()
self.all_bears = get_all_bears_names_from_PyPI()
Aber, wenn ich setUp Methode verwenden, es funktioniert gut, und ich kann Argumente wie self.argv + = [asd, asda, asd] in anderen Methoden hinzufügen.
def setUp(self):
self.argv = ['installation_tool.py']
argv_patcher = patch.object(sys, 'argv', self.argv)
self.addCleanup(argv_patcher.stop)
self.argv_mock = argv_patcher.start()
self.all_bears = get_all_bears_names_from_PyPI()
Ich versuche, die Main-Funktion hier zu testen, also muss ich Spott getan werden. Wie sonst kann ich die Hauptfunktion testen?
Wie kann ich setUpClass dazu verwenden, weil ich die Methode setUp für andere Methoden verwenden muss, da sie eigene Startaufrufe haben?