私はdjango models.Modelでsaveメソッド呼び出しを模倣しようとしています。 私はモックライブラリとしてモックを使用しています。djangoのデータベースを保存する
私はapps.deps.house_factoryにあるファイルhouse_factory.pyの関数をテストしています。
house_factory.py:apps.market.modelsから が、私は家のモデルをモックとしたいハウス
def create_house(location, date, price):
house = House(id=None, date, price)
house.save()
# calculate some stuff and further expand the house instance
# for example house.tag.add("some-tag")
# save after calculations
house.save()
をインポートします。 、(
call__ 戻りself.call *引数:
class HouseModelMock(mock.Mock):
def save(self):
pass
試験方法は、たunittest.TestCaseクラス
@patch('apps.deps.house_factory.House', new_callable=HouseModelMock)
def create_house_test(self, MockedHouse):
""" Constants """
DAYS_FROM_TODAY = 55
DATE = datetime.date.today() + datetime.timedelta(days=DAYS_FROM_TODAY)
PRICE = 250000
# A location is also a django module , I'm using factory_boy here for building a 'mocked' location
location = LocationFactory.build()
create_house(DATE, PRICE)
MockedHouse.assert_called_with(None, DATE, PRICE)
MockedHouse.save.assert_called_with()
私は取得しています。このテストを実行する場合の一部であり、 ** kw) MemoryError
これは私の最初の試みは、djangoとテストに深刻なものです。だから、私は間違ったことを設定して、データベース呼び出しを模倣しているかもしれません。
ご協力いただけると幸いです。
Jonas