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

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

如何測試 Mock 函數(shù)是否被調(diào)用(pytest)

如何測試 Mock 函數(shù)是否被調(diào)用(pytest)

Qyouu 2023-12-20 10:25:49
有一個(gè)變量的抽象類。它有一個(gè)_callbacks方法,用于在值發(fā)生變化時(shí)執(zhí)行控制器類提供的函數(shù)。我想為它寫一個(gè)測試。from unittest.mock import Mockclass Variable():    def __init__(self, value=0):        self.value = value        self.callbacks = {}    def add_callback(self, func):        self.callbacks[func] = None    def _callbacks(self):        for func in self.callbacks:            func(self.value)def test_var_add_callback():    func = Mock()    var = Variable()    var.add_callback(func)    var._callbacks()    assert func.assert_called()使用 pytest 可以得到:================================== FAILURES ===================================____________________________ test_var_add_callback ____________________________    def test_var_add_callback():        func = Mock()        var = Variable()        var.add_callback(func)        var._callbacks()>       assert func.assert_called()E       AssertionError: assert NoneE        +  where None = <bound method NonCallableMock.assert_called of <Mock id='2389330693592'>>()E        +    where <bound method NonCallableMock.assert_called of <Mock id='2389330693592'>> = <Mock id='2389330693592'>.assert_calledtests\test_stack.py:25: AssertionError===================== 1 failed, 18 passed in 0.40 seconds =====================我不明白為什么它不起作用。我閱讀了理解 Python 模擬對象庫#斷言和檢查,我很確定我正在做與示例中相同的事情。None此外,即使我func手動(dòng)調(diào)用,斷言也會(huì)返回def test_var_add_callback():     func = Mock()     var = Variable()     var.add_callback(func)     var._callbacks()     func()         assert func.assert_called()請幫我找到我缺少的東西。
查看完整描述

1 回答

?
蝴蝶刀刀

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

只需刪除語句assert前的關(guān)鍵字即可func.assert_called()。

func.assert_called()返回None,assert None將提高AssertionError.


查看完整回答
反對 回復(fù) 2023-12-20
  • 1 回答
  • 0 關(guān)注
  • 153 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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