python-unittest中的 TestLoad 和 defaultTestLoader

写代码的时候写了这么一行代码:

discover = unittest.TestLoader.discover(start_dir=path)

跑了后报如下的错:

TypeError: discover() missing 1 required positional argument: 'self'

说明没有实例化,然后把上面的代码改成了

discover = unittest.defaultTestLoader.discover(start_dir=path)

顺利跑通,然后看了一下defaultTestLoader的源码:

defaultTestLoader = TestLoader()

就是对TestLoader进行实例化,所以最上面的代码也可以写成:

discover = unittest.TestLoader().discover(start_dir=path)

这种问题遇到好多次了,总是容易写错。


版权声明:本文为up1292原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。