从unittest访问或捕获断言错误到登录文件。
def configure_logging():
logging.root.setLevel(logging.DEBUG)
f = logging.Formatter(
'%(asctime)s '
'%(lineno)-4d '
'%(message)s '
)
sh = logging.StreamHandler()
sh.setLevel(logging.WARN)
sh.setFormatter(f)
logging.root.addHandler(sh)
fh = logging.FileHandler("filename.log")
fh.setLevel(logging.DEBUG)
fh.setFormatter(f)
logging.root.addHandler(fh)
fh2 = logging.FileHandler("errorfile.log"))
fh2.setLevel(logging.INFO)
fh2.setFormatter(f)
logging.root.addHandler(fh2)
return logging
import unittest
class SanityTest(unittest.TestCase):
def test_1(self):
logging.warn("test message")
assert 0
if __name__ == '__main__':
logging = loggerLogging.configure_logging()
suite = unittest.TestLoader().loadTestsFromTestCase(SanityTestMethods)
unittest.TextTestRunner(verbosity=2).run(suite)
因此,断言错误是在console / stderr中从unittest日志记录中提交但是,我想将它记录在我的日志文件中。是否可以在unittest中进行?