在python单元tes中初始化记录器

2024-10-02 08:27:01 发布

您现在位置:Python中文网/ 问答频道 /正文

import logging

class TestMyClass(unittest.TestCase):
       def __init__(self):
            self.logger = logging.getLogger('MyClassLog')

       def setUp(self):

我试图在构造函数中实例化记录器。但我得到一个错误: ... TypeError:init()只接受1个参数(给定2个)

为什么会这样?如何正确实例化记录器?在


Tags: 实例importselfinitloggingdefsetupunittest
3条回答

你可以试试这个。。在

class TestMyClass(unittest.TestCase):
def __init__(self, methodName):
    super(TestMyClass, self).__init__(methodName)
    self.logger = logging.getLogger('MyClassLog')

您不应该使用__init__方法;而是在setUp方法中执行所有需要执行的操作。在

您正在重写__init__。在这样的TestCase中不能这样做,因为您的测试用例将由测试运行程序实例化,传递给它的参数将是要运行的方法,因此您已经取消了所有需要完成的初始化(并且没有使用正确数量的参数)。在

如果您想做一些日志记录,可以在^{}方法中完成,或者更可能是全局性的。在

相关问题 更多 >

    热门问题