第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將可調用的 MagicMock return_value 實例方法更改為 PropertyMock

將可調用的 MagicMock return_value 實例方法更改為 PropertyMock

慕尼黑8549860 2021-06-15 13:06:05
我正在嘗試將我的實例方法的可調用更改MagicMock為 a,PropertyMock因為這就是它的訪問方式(Django 模型列)。但是測試失敗了 _mock_self = <PropertyMock name='get().my_prop' id='4524632776'>鑒于以下代碼# viewdef get(self request):    # stuff...    obj = MyModel.objects.get(id=2)    # more stuff...    print(obj.my_prop)    some_val = MyOtherModel(my_prop=obj.my_prop)# testsdef test_my_test(mocker):    other_obj = mocker.patch("app.views.MyOtherModel")    obj_get = mocker.patch("app.views.MyModel.objects.get")    obj_prop = mocker.PropertyMock(return_value=1)    # This should translate to an instance of MyModel i.e. MyModel().my_prop    obj_get.return_value.my_prop = obj_prop    # run view    obj_prop.assert_called_once() # Says never invoked    # Failed as my_prop was a PropertyMock instead of actual value    other_obj.assert_called_once_with(my_prop=obj_prop)打印語句顯示 <PropertyMock name='get().my_prop' id='4524632776'>所以看起來它是同一個實例,它實際上并沒有被調用我也曾嘗試直接修補模型的屬性,但這似乎不起作用,因為Mocks它們不一樣。def test_my_test(mocker):    other_obj = mocker.patch("app.views.MyOtherModel")    obj_prop = mocker.patch("app.views.MyModel.my_prop", new_callable=mocker.PropertyMock)    obj_get = mocker.patch("app.views.MyModel.objects.get")    obj_get.return_value.my_prop = obj_prop    # run view    obj_prop.assert_called_once()    # Failed as my_prop was a PropertyMock instead of actual value    other_obj.assert_called_once_with(my_prop=obj_prop) 哪個失敗了..._mock_self = <PropertyMock name='my_prop' id='4543022192'>但打印 <MagicMock name='get().my_prop' id='4543752232'>編輯添加了更準確地描述實現的其他補丁
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 215 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號