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的环境问题?有没有懂得大佬指教一哈
  • 相关阅读:
    java将一个或者多个空格进行分割
    Oracle decode()函数
    javascript 匿名函数和模块化
    javascript Math函数
    javascript 数组Array排序
    jQuery 获取屏幕高度、宽度
    fastJson 转换日期格式
    QNX Development Tools Based on Eclipse IDE
    Eclipse equinox implementation of OSGi
    Eclipse SWT
  • 原文地址:https://www.cnblogs.com/shanshan-test/p/15098559.html
Copyright © 2011-2022 走看看