2
import logging

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

       def setUp(self):

我正在尝试在构造函数中实例化记录器。但我收到此错误:... TypeError: init () 只需要 1 个参数(给定 2 个)

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

4

4 回答 4

3

你是压倒一切的__init__。你不能那样做TestCase,因为你的测试用例将由测试运行器实例化,传递给它的参数将是运行的方法,所以你已经取消了所有初始化需要完成(并且没有采取正确数量的论点)。

如果你想做一些日志记录,你可以在一个setUp方法中做,或者更有可能,只是在全局范围内。

于 2012-07-31T23:22:41.463 回答
2

你不应该有__init__方法;setUp而是在方法中做所有你需要做的事情。

于 2012-07-31T23:23:19.130 回答
2

你可以试试这个。。

class TestMyClass(unittest.TestCase):
def __init__(self, methodName):
    super(TestMyClass, self).__init__(methodName)
    self.logger = logging.getLogger('MyClassLog')
于 2012-08-31T21:35:00.500 回答
1

setUpClass()应该让您对测试用例中的所有测试进行初始化,并且应该只进行一次。

于 2012-07-31T23:44:07.273 回答