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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在Python中,如何模擬ac擴(kuò)展類(lèi)?

在Python中,如何模擬ac擴(kuò)展類(lèi)?

狐的傳說(shuō) 2021-03-30 12:15:11
我正在嘗試模擬一個(gè)在其中使用ac擴(kuò)展類(lèi)的類(lèi)函數(shù),但是我得到了TypeError: can't set attributes of built-in/extension type 'y.cExtensionClass'。code.py是一個(gè)遺留代碼,我真的不希望對(duì)其進(jìn)行更改。有什么建議嗎?code.py:from x.y import cExtensionClassclass CodeClass():    @staticmethod    def code_function():         cExtensionClass().cExtensionFunc()test.py:import codefrom x.y import cExtensionClassclass test(unittest.TestCase):    def test_code_function(self)        with patch.object(cExtensionClass, 'cExtensionFunc') as cExtensionFuncMock:               cExtensionFuncMock.return_value = None            code.CodeClass.code_function()            cExtensionFuncMock.assert_called_with()
查看完整描述

3 回答

?
隔江千里

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超10個(gè)贊

修補(bǔ)程序code.cExtensionClass(不是x.y.cExtensionClass)。做import code代替from code cExtensionClass。


import unittest


from mock import patch, Mock


import code


class test(unittest.TestCase):

    def test_code_function(self):

        with patch('code.cExtensionClass') as m:

            m.return_value.cExtensionFunc = func = Mock()

            code.CodeClass.code_function()

            func.assert_called_with()


    #@patch('code.cExtensionClass')

    #def test_code_function(self, m):

    #    m.return_value.cExtensionFunc = func = Mock()

    #    code.CodeClass.code_function()

    #    func.assert_called_with()


查看完整回答
反對(duì) 回復(fù) 2021-04-05
?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

替換整個(gè)cExtensionClass對(duì)象,而不是僅替換單個(gè)方法。


查看完整回答
反對(duì) 回復(fù) 2021-04-05
  • 3 回答
  • 0 關(guān)注
  • 190 瀏覽
慕課專(zhuān)欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)