2024-10-02 08:27:01 发布
网友
import logging class TestMyClass(unittest.TestCase): def __init__(self): self.logger = logging.getLogger('MyClassLog') def setUp(self):
我试图在构造函数中实例化记录器。但我得到一个错误: ... TypeError:init()只接受1个参数(给定2个)
为什么会这样?如何正确实例化记录器?在
你可以试试这个。。在
class TestMyClass(unittest.TestCase): def __init__(self, methodName): super(TestMyClass, self).__init__(methodName) self.logger = logging.getLogger('MyClassLog')
您不应该使用__init__方法;而是在setUp方法中执行所有需要执行的操作。在
__init__
setUp
您正在重写__init__。在这样的TestCase中不能这样做,因为您的测试用例将由测试运行程序实例化,传递给它的参数将是要运行的方法,因此您已经取消了所有需要完成的初始化(并且没有使用正确数量的参数)。在
TestCase
如果您想做一些日志记录,可以在^{}方法中完成,或者更可能是全局性的。在
你可以试试这个。。在
您不应该使用
__init__
方法;而是在setUp
方法中执行所有需要执行的操作。在您正在重写
__init__
。在这样的TestCase
中不能这样做,因为您的测试用例将由测试运行程序实例化,传递给它的参数将是要运行的方法,因此您已经取消了所有需要完成的初始化(并且没有使用正确数量的参数)。在如果您想做一些日志记录,可以在^{} 方法中完成,或者更可能是全局性的。在
相关问题 更多 >
编程相关推荐