Ich führe Unit TestCases von Python mit XMLTestRunner.Testbericht erstellt nicht beim Ausführen von XMLRunner
Das ist meine Hauptdatei:
#LoggingService.py
class LoggerWriter:
# used to redirect console msgs to the log
def write(self, message):
log_event('warning', 'Console', message)
def direct_console_to_log():
global console_redirected
# This function can be called several times. Avoid redirecting more than once
if not console_redirected:
console_output = LoggerWriter()
sys.stderr = console_output
sys.stdout = console_output
console_redirected = True
def log_event(level, _id, event_details):
# log the event
pass
Das ist mein eines der Testdatei ist:
#LoggingServiceTest.py
import unittest
import LoggingService
from LoggingService import direct_console_to_log
class Test(unittest.TestCase):
@patch('LoggingService.log_event')
def test_log_writer(self,log_mock):
direct_console_to_log()
print ('console msg')
self.assertTrue(log_mock.called)
if __name__ == "__main__":
unittest.main()
habe ich alle die Testdatei von XMLRunner.py auszuführen:
#XMLRunner.py
from xmlrunner import XMLTestRunner
import unittest
test_modules = [file1.Test, file2.Test, LoggingServiceTest.py, .... file25.Test]
suite = unittest.TestSuite()
for test_module in test_modules:
tests = unittest.TestLoader().loadTestsFromTestCase(test_module)
suite.addTests(tests)
if __name__ == '__main__':
# import xmlrunner
# unittest.main(testRunner=xmlrunner.XMLTestRunner(output='test-reports'))
XMLTestRunner(output='test-reports').run(suite)
Wenn ich versuche, LoggingServiceTest.py-Datei von "XMLRunner.py" auszuführen, dann generiert der Testbericht nicht.Aber wenn ich t Ohne "LoggingServiceTest.py" wird der Bericht erfolgreich generiert.
Und ich bin mir nicht sicher, was mit der Testfall-Funktion (test_log_writer (self, log_mock)) in LoggingServiceTest.py Laufe geschieht. Kann mir jemand
lösche ich verwenden Sie den folgenden Befehl, um den Testfall auszuführen:
Python2.7.14\python.exe -m coverage run -p --branch --source=. --omit=Unit_Tests/*.py Unit_Tests/Testing.py
Sie sagen * mehr Testdateien *, aber wie viele mehr? Schlägt die Suite im Hintergrund fehl oder erhalten Sie einen Fehler? Wenn letzteres, bitte posten Sie es. Werfen Sie auch einen Blick auf [Wie stelle ich eine gute Frage?] (Https://stackoverflow.com/help/how-to-ask) – chb
Ich erhalte keinen Fehler, die Testfälle werden erfolgreich ausgeführt. – Yasin