У меня трудные времена с юнит-тестом и патчем.Я хотел бы протестировать определенный класс и изменить в нем некоторые атрибуты.
Я думаю, что у меня проблема с путем, но не могу понять, как ее решить.
#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 "####################"
КогдаЯ запускаю этот тест и вижу, что оба объекта Inventory
и mock_inventory
указывают на один и тот же объект MagickMock.Но это не так:
####################
<class 'lib.inventory.Inventory'>
<MagicMock name='Inventory' id='140594977874320'>
####################
Не могли бы вы сказать мне, что я делаю неправильно?Может быть, я неправильно понял концепцию макета и патча?Спасибо