[英]Initializing logger in python unit test
import logging
class TestMyClass(unittest.TestCase):
def __init__(self):
self.logger = logging.getLogger('MyClassLog')
def setUp(self):
我试图在构造函数中实例化记录器。 但我得到这个错误:... TypeError: init ()只取1个参数(给定2个)
为什么是这样? 如何正确实例化记录器?
你重写__init__
。 你不能在这样的TestCase
做到这一点,因为你的测试用例将由测试运行器实例化,并且传递给它的参数将是运行的方法,所以你已经撤销了所有的初始化需要完成(而不是采用正确数量的参数)。
如果要进行某些日志记录,可以在setUp
方法中执行此操作,或者更有可能在全局范围内执行此操作。
你不应该有__init__
方法; 改为在setUp
方法中做你需要做的一切。
你可以尝试这个..
class TestMyClass(unittest.TestCase):
def __init__(self, methodName):
super(TestMyClass, self).__init__(methodName)
self.logger = logging.getLogger('MyClassLog')
setUpClass()
应该让你为测试用例中的所有测试做初始化,并且只应该执行一次。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.