我正在尝试使用xmlrunner与unittest生成测试结果的xml。我希望该报告包括我的日志记录输出。 但这似乎不起作用。
例如,在此代码中,日志输出未显示在xml报告中。
import unittest
import logging
import xmlrunner
import sys
class Test(unittest.TestCase):
@classmethod
def setUpClass(cls):
logging.getLogger().debug("setUpClass")
def test_step_001(self):
logging.getLogger().debug("test_step_001")
@classmethod
def tearDownClass(cls):
logging.getLogger().debug("tearDownClass")
if __name__ == '__main__':
logging.basicConfig(level=logging.DEBUG, format="%(asctime)s %(levelname)s %(message)s", stream=sys.stdout)
unittest.main(testRunner=xmlrunner.XMLTestRunner(output='test-reports'))
答案 0 :(得分:0)
我只是在做这个。非常愚蠢。 您可以在设置函数中设置日志处理程序。这将创建一个分层的分隔符,该分隔符可在xmlrunner内部运行。
@classmethod
def setUpClass(cls):
handler = logging.StreamHandler(sys.stdout)
handler.setLevel(logging.INFO)
log.addHandler(handler)
log.debug("setUpClass")