Как объединить журнал unitest textrunner с регистрацией - PullRequest
0 голосов
/ 15 ноября 2018

Как записать комментарии отладки или информации в сгенерированный файл журнала из юнит-теста python

import unittest
import logging

class Arming(unittest.TestCase):
    def testCase1(self):
        logging.info('I told you so')
        actual = 3
        expected = 3
        self.assertEqual(actual,expected)

    def testCase2(self):
        actual = 3
        expected = 4
        testcase = "Test Case 2"
        self.assertEqual(actual,expected)

if __name__ == '__main__':
   log_file = 'Arming_Command.log'
   f = open(log_file, "w")
   runner = unittest.TextTestRunner(f,verbosity=2)
   unittest.main(testRunner=runner)
   f.close()

Получение файла журнала

testCase1 (__main__.Arming) ... ok
testCase2 (__main__.Arming) ... FAIL

======================================================================
FAIL: testCase2 (__main__.Arming)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "C:/Users/hariom.singh/PycharmProjects/Connect_Pversion/venv/Python_Logging.py", line 15, in testCase2
    self.assertEqual(actual,expected)
AssertionError: 3 != 4

----------------------------------------------------------------------
Ran 2 tests in 0.001s

FAILED (failures=1)

logging.info («Я же тебе говорил») отсутствует в файле журнала

1 Ответ

0 голосов
/ 15 ноября 2018

Не удалось настроить модуль ведения журнала на использование указанного файла. Вы можете использовать basicConfig для этого. Код может стать:

if __name__ == '__main__':
   log_file = 'Arming_Command.log'
   f = open(log_file, "w")
   logging.basicConfig(stream=f, level=logging.INFO)  # use the opened file for logging
   runner = unittest.TextTestRunner(f,verbosity=2)
   unittest.main(testRunner=runner)
   f.close()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...