我想使用带有参数的 python unittest setUpClass 和 tearDownClass 方法。更具体地说,这是我现在正在做的事情:
import unittest2 as unittest
cache = VCache(arg1, arg2, arg3)
class Validation(unittest.TestCase):
''' Unit test class with a local cache to avoid intensive network traffic. '''
@classmethod
def setUpClass(cls):
''' Copy all required data locally. '''
super(Validation, cls).setUpClass()
cache.setUp()
@classmethod
def tearDownClass(cls):
''' Remove the cache. '''
super(Validation, cls).tearDownClass()
cache.tearDown()
它可以工作,但现在我想将缓存管理包装在 Validation 的子类中,以避免使用全局变量并每次都编写 setUpClass 和 tearDownClass。
这当然不起作用,因为 setUpClass() 和 tearDownClass() 不接受参数。有什么解决办法吗?