3

我想使用带有参数的 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() 不接受参数。有什么解决办法吗?

4

0 回答 0