【发布时间】:2011-11-20 08:00:09
【问题描述】:
我正在使用 PyDev 对我的 Python 应用程序进行开发和单元测试。 至于单元测试,除了没有内容被记录到日志框架之外,一切都很好。 PyDev 的“捕获的输出”没有捕获记录器。
我已经将记录的所有内容转发到标准输出,如下所示:
import sys
logger = logging.getLogger()
logger.level = logging.DEBUG
logger.addHandler(logging.StreamHandler(sys.stdout))
尽管如此,“捕获的输出”不显示记录到记录器的内容。
这是一个单元测试脚本示例: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是:
======================== CAPTURED OUTPUT =========================
AA
有人知道在执行此测试期间如何捕获记录到logging.Logger 的所有内容吗?
【问题讨论】:
标签: python unit-testing logging pydev