我有 2 個函式,只有在傳遞的引數為 True 時才呼叫另一個函式。
def func1(para1 = True):
// Some lines of code
if para1 == True:
func2()
def func2():
// Some lines of code
現在,我正在嘗試創建一個單元測驗來檢查嵌套函式 func2 是否被呼叫(當傳遞給 func1 的引數為真時)。我在網上查了一下,發現了一些與 Mock() 相關的東西,但不明白如何用于這個特定的測驗用例。我該如何進行呢?
uj5u.com熱心網友回復:
example.py:
def func1(para1=True):
if para1 == True:
func2()
def func2():
pass
test_example.py:
from unittest import TestCase
import unittest
from unittest.mock import patch
from example import func1
class TestExample(TestCase):
@patch('example.func2')
def test_func1__should_call_func2(self, mock_func2):
func1()
mock_func2.assert_called_once()
@patch('example.func2')
def test_func1__should_not_call_func2(self, mock_func2):
func1(False)
mock_func2.assert_not_called()
if __name__ == '__main__':
unittest.main()
測驗結果:
..
----------------------------------------------------------------------
Ran 2 tests in 0.001s
OK
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/413832.html
標籤:
