使用python的模拟补丁测试类无效

时间:2019-02-27 12:46:09

标签: python unit-testing mocking patch

我在使用unittest模拟和补丁时遇到困难。我想测试一个特定的类并更改其中的一些属性。

我认为我遇到了路径问题,但是不知道如何解决。

#lib.inventory.py
class Inventory(object):

    def __init__(self):
        self.db = "12"

    def do_stuff(self):
        return "ok"

#test.py
import unittest
from mock import patch
import time
from  lib.inventory import Inventory

#test_case.py
class MyTest(unittest.TestCase):
    @patch('lib.inventory.Inventory')  
    def test_retrieve_project_id(self,mock_inventory):

        print "####################"
        print Inventory
        print mock_inventory
        print "####################"

运行此测试时,我应该看到Inventorymock_inventory对象都指向同一个MagickMock对象。事实并非如此:

####################
<class 'lib.inventory.Inventory'>
<MagicMock name='Inventory' id='140594977874320'>
####################

你能告诉我我做错了吗?也许我误解了模拟和补丁概念? 谢谢

0 个答案:

没有答案