小编fel*_*ice的帖子

Pytest-mock 未修补类模块中的导入函数

pytest-mock 修补未按预期工作。我的代码:

utils.py

def my_func():
    return 42
Run Code Online (Sandbox Code Playgroud)

classes.py

from utils import my_func

class MyClass:
    def class_method(self):
        return my_func()
Run Code Online (Sandbox Code Playgroud)

test_classes.py

import pytest
from classes import MyClass

def test_myclass(mocker):
    mocker.patch("utils.my_func", return_value=21)
    assert MyClass().class_method() == 21
Run Code Online (Sandbox Code Playgroud)

失败了,返回的是42而不是21

pytest pytest-mock

5
推荐指数
1
解决办法
2162
查看次数

AttributeError: 'Logger' 对象没有属性 'WARNING'

我试图根据python 文档在我的 python 脚本中实现一个记录器。这是代码:

import logging

def generateLogger(loggername='SM-Logger', path="logs/log.log"):

    logger = logging.getLogger(loggername)
    logger.setLevel(logging.DEBUG)

    ch = logging.StreamHandler()
    ch.setLevel(logging.ERROR)

    formatter = logging.Formatter('%(asctime)s - %(name)s\
                              - %(levelname)s - %(message)s')

    ch.setFormatter(formatter)

    logger.addHandler(ch)

    return logger

logger = generateLogger("testlogger", "testlog.log")
logger.WARNING("testtest")
Run Code Online (Sandbox Code Playgroud)

我收到此错误消息:

File "loggertest.py", line 39, in <module>
    logger.WARNING("testtest")
AttributeError: 'Logger' object has no attribute ‚WARNING'
Run Code Online (Sandbox Code Playgroud)

python logging python-3.x

4
推荐指数
1
解决办法
2万
查看次数

标签 统计

logging ×1

pytest ×1

pytest-mock ×1

python ×1

python-3.x ×1