首页 > 解决方案 > Python模拟类实例化和访问私有成员变量

问题描述

我想在一个类中测试一个更新成员变量值的方法。但是,类采用测试方法中不需要的构造函数参数。

class SimpleClass(Database):
    count = None

    def intoTwo(self, v):
        self.count = 2*v

现在我正在测试方法如下

import unittest
import mock

class TestSimpleClass(unittest.TestCase):
    @mock.patch('SimpleClass', autospec=True)
    def test_intoTwo(self, mock_simpleclass):
        mock_instance = mock_simpleclass.return_value
        mock_instance.intoTwo(2)
        self.assertEqual(mock_instance.count,4)

我收到以下错误:

<NonCallableMagicMock name='SimpleClass().count' id='139921148836112'>

请为此提出解决方案。我认为在其他帖子或博客中找不到相关内容。

标签: pythonunit-testingmocking

解决方案


推荐阅读