PyDev unittesting: Как записывать текст, записанный в журнал. Logger в «Captured Output»

Я использую PyDev для разработки и модульного тестирования моего приложения Python. Что касается модульного тестирования, все работает отлично, за исключением того факта, что никакое содержимое не регистрируется в структуре журналирования. Регистратор не захватывается «Захваченными выходными данными» PyDev.

Я уже пересылаю все зарегистрированные данные в стандартный вывод, например:

import sys
logger = logging.getLogger()
logger.level = logging.DEBUG
logger.addHandler(logging.StreamHandler(sys.stdout))

Тем не менее, «Захваченный вывод» не отображает данные, записанные в регистраторы.

Вот пример скрипта unittest: test.py

import sys
import unittest
import logging

logger = logging.getLogger()
logger.level = logging.DEBUG
logger.addHandler(logging.StreamHandler(sys.stdout))

class TestCase(unittest.TestCase):
    def testSimpleMsg(self):
        print("AA")
        logging.getLogger().info("BB")

Вывод консоли:

Finding files... done.
Importing test modules ... done.

testSimpleMsg (itf.lowlevel.tests.hl7.TestCase) ... AA
2011-09-19 16:48:00,755 - root - INFO - BB
BB
ok

----------------------------------------------------------------------
Ran 1 test in 0.001s

OK

Но ЗАХВАТЫВАЕМЫЙ ВЫВОД для теста:

======================== CAPTURED OUTPUT =========================
AA

Кто-нибудь знает, как записывать все, что записывается в журнал logging.Logger во время выполнения этого теста?

52
задан Marco 22 January 2019 в 01:05
поделиться