import logging
class TestMyClass(unittest.TestCase):
def __init__(self):
self.logger = logging.getLogger('MyClassLog')
def setUp(self):
我正在尝试在构造函数中实例化记录器。但我得到这个错误: ... TypeError: init ()只需1个参数(给定2个)
这是为什么?如何正确实例化记录器?
答案 0 :(得分:3)
你压倒__init__
。你不能在TestCase
这样做,因为你的测试用例将由测试运行器实例化,并且传递给它的参数将是运行的方法,所以你已经撤消了所有需要完成的初始化(并没有采用正确数量的参数)。
如果您想进行一些日志记录,可以使用setUp
方法,或者更可能只是全局方式。
答案 1 :(得分:2)
你不应该有__init__
方法;用setUp
方法做你需要做的一切。
答案 2 :(得分:2)
你可以试试这个..
class TestMyClass(unittest.TestCase):
def __init__(self, methodName):
super(TestMyClass, self).__init__(methodName)
self.logger = logging.getLogger('MyClassLog')
答案 3 :(得分:1)
setUpClass()
应该允许您对测试用例中的所有测试进行初始化,并且只应该执行一次。