访问@classmethod中的修补对象

时间:2013-07-16 07:28:52

标签: python unit-testing class-method patch python-mock

我想在TestCase.setUpClass()方法中为修补对象设置副作用,以便副作用在整个测试过程中保持不变,而不必通过setUp()进行每次测试。< / p>

如何在@classmethod

中访问该补丁
@patch('my_module.auxiliary_module', autospec=True)
class TestMyModule(TestCase):
    @classmethod
    def setUpClass(cls):
        # how can I access the patch here to set a side-effect?

    def test_a(self, mock_auxiliary_module):
        # here the patch is accessible

我想在setUpClass()中做的一个例子:

mock_auxiliary_module.some_func.side_effect = lambda x: {'a': 2, 'b': 5}[x]

1 个答案:

答案 0 :(得分:0)

将其设为类属性,以便您可以使用cls.my_obj中的setUpClass或其他测试方法中的self.my_obj来访问它?

我不熟悉修补,所以这可能是不合适的。