zoukankan      html  css  js  c++  java
  • 记:pytest在pycharm中会运行多次,命令行运行正常的问题

    问题:

    • 在做接口自动化时,参数化的时候发现商品创建成功了,但是控制台报错。提示断言失败。下面我把写个demo来一起看下

    log.p文件

    from loguru import logger
    import time
    import os
    
    # 解析配置文件中所写的路径
    PATH = lambda a: os.path.abspath(os.path.join(os.path.dirname(__file__), a))
    now = time.strftime('%Y-%m-%d %H:%M:%S')
    
    # 从配置文件获取日志路径
    # log_path = PATH(get_Path_elements('Log_path')['path'])
    log_path = PATH('../Logs/')  # 暂时写死,就存这个位置下
    
    # 判断日志文件夹是否存在
    if not os.path.exists(log_path):
        # 递归创建
        os.makedirs(log_path)
    
    
    def log():
        logger.add(sink=os.path.join(log_path, now + ".log"),  # 日志记录的位置
                   level="DEBUG",  # 日志记录的等级
                   retention='7 days',  # 日志记录
                   enqueue=False,  # 日志 异步记录
                   backtrace=False,  # 完全的记录描述
                   diagnose=False)
        return logger
    
    

    test_demo.py文件

    import pytest
    from log import log
    
    log = log()
    
    @pytest.mark.parametrize('user', ['shichao', 'xiaoming'])
    def test_demo_1(user):
        log.info(user)
        assert 1 == 1
        log.info("-----" + user)
    
    # pytest.main(["test_demo_1"])
    

    在pycharm中的执行结果

    • 使用debug模式打断点,发现执行完一次后,又执行了一次。那么日志会什么会在每次执行都重复写一次呢?
    • 我开始以为是log封装的有问题又换成了logging这个模块写日志发现还是一样的。。。哎
    • 然后我就想换到命令行执行一次试试

    • 怀疑是pycharm的环境问题?有没有懂得大佬指教一哈
  • 相关阅读:
    洛谷P6276 [USACO20OPEN]Exercise P(生成函数)
    牛顿迭代求逆元
    线性基求交
    我卷我自己加强
    AGC013 简要题解
    LOJ#6074 「2017 山东一轮集训 Day6」
    JAVA根据下载地址获取文件的Base64
    JS 作用链,箭头函数 this 取值
    Leetcode 1249 移除无效的括号
    Vue的数据绑定
  • 原文地址:https://www.cnblogs.com/shanshan-test/p/15098559.html
Copyright © 2011-2022 走看看