python单元测试用例中的忽略记录器函数
我正在为一些python程序编写测试用例。我使用了自定义记录器功能python单元测试用例中的忽略记录器函数,python,python-3.x,python-unittest,Python,Python 3.x,Python Unittest,我正在为一些python程序编写测试用例。我使用了自定义记录器功能 logger.info("Some text") logger.error("some text") 现在,记录器是从其他程序创建的对象。我有一个名为“logger_1.py”的程序,我正在当前程序中导入该程序以创建一个logger对象 from logger_1 import getlogger global logger logger = getlogger("addaccess", "_log) 在我的单元测试用例中
logger.info("Some text")
logger.error("some text")
现在,记录器是从其他程序创建的对象。我有一个名为“logger_1.py”的程序,我正在当前程序中导入该程序以创建一个logger对象
from logger_1 import getlogger
global logger
logger = getlogger("addaccess", "_log)
在我的单元测试用例中,我得到的是未定义的记录器
如何跳过已进行单元测试的函数中以logger开头的语句,或者以任何其他方式模拟或修补程序函数中的所有logger语句?我看到了三个选项:
logger_1.py
似乎不可用如果名称=“\uuuuu main\uuuuuuuu”:
#用记录器做些什么
如果从命令行调用文件而不是导入到测试套件中,则记录器将指向其他位置来自unittest导入模拟,TestCase
创建虚拟记录器():
#创建并返回一个虚拟记录器
通过
SomethingTests(测试用例):
@补丁(“getlogger”,创建虚拟记录器)
测试方法记录某事(自我):
通过
简而言之,如何跳过logger语句或任何其他关于为Python3.xThanks创建单元测试用例的语句供您参考。然而,我仍然面临着这个问题。让我详细介绍一下过程,以便您能清楚地提出建议。谢谢您的留言。然而,我仍然在挣扎。我不能在这里添加太多评论,因此创建了一个新主题来跟踪它。