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

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

如何對 subprocess.call() 進行單元測試以檢查它是否在 python 中調(diào)用

如何對 subprocess.call() 進行單元測試以檢查它是否在 python 中調(diào)用

滄海一幻覺 2022-12-20 15:15:02
我正在嘗試編寫 unittest 來檢查是否subprocess.call()在不返回任何內(nèi)容的函數(shù) flash_it 中調(diào)用。def flash_it('flash.bat'):    file = open('file.txt', 'w')    subprocess.call(['flash.bat', '-d'], stdout = file, stderr = subprocess.STDOUT)@mock.patch('subprocess.call')def test_subprocess_call_passed(self, mock_subproc_call):    main.flash_it('flash.bat')    self.assertTrue(mock_subproc_call.called)
查看完整描述

1 回答

?
qq_遁去的一_1

TA貢獻1725條經(jīng)驗 獲得超8個贊

你可能需要這樣的東西:


import subprocess

import mock



def flash_it(filename):

    with open(filename, 'w') as f:

        subprocess.call(['cmd to flash', '-d'], stdout=f, stderr=subprocess.STDOUT)


@mock.patch('subprocess.call')

def test_subprocess_call_passed(mock_subproc_call):

    flash_it('flash.bat')

    mock_subproc_call.assert_called_once()

請注意,我實際上并沒有運行它。


當(dāng)然也assert_called_once_with有讓你斷言傳遞給函數(shù)的參數(shù)。檢查文檔:https ://docs.python.org/3/library/unittest.mock.html

編輯:好的,我已經(jīng)用 pytest 運行了它:

http://img1.sycdn.imooc.com//63a161330001b63d17371100.jpg

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

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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