在 unittest 中使用 logging 模块记录测试数据

# -*- coding:utf-8 -*-
import sys
import logging
import unittest
import os

reload(sys)
sys.path.append(os.path.dirname(os.path.abspath(__file__)) + r'\..')  # 返回脚本的路径
logging.basicConfig(level=logging.DEBUG,
                    format='%(asctime)s %(filename)s[line:%(lineno)d] %(levelname)s %(message)s',
                    datefmt='%a, %d %b %Y %H:%M:%S',
                    filename='log_test.log',
                    filemode='w')
logger = logging.getLogger()


class SomeTest(unittest.TestCase):
    def testSomething(self):
        logger.debug("this= %r", 'aaa')
        logger.debug("that= %r", 'bbb')
        # etc.
        self.assertEquals(3.14, 3.14, 'nonono')

if __name__ == "__main__":
    unittest.main()

生成的日志文件内容如下:

Wed, 17 May 2017 15:04:53 log_test.py[line:19] DEBUG this= 'aaa'
Wed, 17 May 2017 15:04:53 log_test.py[line:20] DEBUG that= 'bbb'

PyDev unittesting: How to capture text logged to a logging.Logger in “Captured Output”

你可能感兴趣的:(Selenium自动化测试,logging,单元测试,测试,数据,utf-8)