51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 7521|回复: 2
打印 上一主题 下一主题

重新封装的日志在unittest中运行时报错:未关闭日志文件

[复制链接]
  • TA的每日心情
    无聊
    5 天前
  • 签到天数: 530 天

    连续签到: 2 天

    [LV.9]测试副司令

    跳转到指定楼层
    1#
    发表于 2021-7-16 13:25:03 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    1测试积点
    1\重新封装了logging,用于记录web操作
    1. #  web_log.py
    2. import logging
    3. from common import web_conf
    4. class Log_Web_Test:
    5.     def log_Basic(self, level="Debug", message=""):
    6.         # 创建logger实例
    7.         logger_test = logging.getLogger("Log_Of_Web_Test")
    8.         logger_test.setLevel("DEBUG")
    9.         # 创建日志输出格式
    10.         fmt_str = '%(asctime)s-%(levelname)s-%(module)s-%(lineno)d-%(message)s'
    11.         handler_fmt = logging.Formatter(fmt_str)
    12.         # 获取日志输出文件的位置
    13.         handler_test = logging.FileHandler(web_conf.path_log, "a+", "utf-8", True)   
    14.                 # 文件位置Log_Of_Web_Test.txt,确定没错,能看到其他的写入信息
    15.         handler_test.setLevel("DEBUG")
    16.         handler_test.setFormatter(handler_fmt)
    17.         logger_test.addHandler(handler_test)
    18.         if level.upper() == "DEBUG":
    19.             logger_test.debug(message)
    20.         if level.upper() == "INFO":
    21.             logger_test.info(message)
    22.         if level.upper() == "WARNING":
    23.             logger_test.warning(message)
    24.         if level.upper() == "ERROR":
    25.             logger_test.error(message)
    26.         if level.upper() == "CRITICAL":
    27.             logger_test.critical(message)
    28.         logger_test.removeHandler(handler_test)
    29.     def debug(self, message):
    30.         self.log_Basic("debug", message)
    31.     def info(self, message):
    32.         self.log_Basic("info", message)  # 这里提示报错  unclosed file<>
    33.     def warning(self, message):
    34.         self.log_Basic("warning", message)
    35.     def error(self, message):
    36.         self.log_Basic("error", message)
    37.     def critical(self, message):
    38.         self.log_Basic("critical", message)
    复制代码
    这里测试没有问题
    2\使用python + 文件名的方式运行,用例通过,不报错

    3\使用Unittest in+文件名 ,用例通过,报错
    1. web_log.py:40: ResourceWarning: unclosed file <_io.TextIOWrapper name='C:\Users\bth\PycharmProjects\58_web_test\output\Log_Of_Web_Test.txt' mode='a+' encoding='utf-8'>
    2. self.log_Basic("info", message)
    复制代码



    附件: 您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 09:17
  • 签到天数: 1807 天

    连续签到: 1 天

    [LV.Master]测试大本营

    2#
    发表于 2021-7-19 09:35:38 | 只看该作者
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    昨天 10:13
  • 签到天数: 1522 天

    连续签到: 1 天

    [LV.Master]测试大本营

    3#
    发表于 2021-7-19 10:55:44 | 只看该作者
    文件写完没有关闭
    回复

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-26 01:59 , Processed in 0.060106 second(s), 22 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表