Référence: https://www.jianshu.com/p/15594044ab27
installer maquette PIP
PIP installer pytest -mock (équivalent à railler une version améliorée)
Par exemple:
# Fichier nommé: mock_demo.py importation Demandes DEF mock_request (url): "" " besoin de demander la maquette " "" retour requests.get (url) .status_code DEF invoke_mock_request (url): retour mock_request (url)
cas de test
importation maquette de pytest_mock importation moqueuse de common.mock_demo importation invoke_mock_request def test_mock_1 (moqueuse): "" " 方法一:使用的是pytest maquette中的moqueuse """ mocker.patch ( " common.mock_demo.mock_request " , return_value = 300 ) assert invoke_mock_request ( " https://www.baidu.com/ " ) == 300 def test_mock_2 (): "" " 方法二:使用的maquette中Patch方法""" avec mock.patch ( " commune.mock_demo.mock_request " , Return_value = 300 ) AS foo: le Assertion invoke_mock_request ( " https://www.baidu.com/ " ) == foo.return_value @ mock.patch ( " common.mock_demo.mock_request " , return_value = 300 ) DEF test_mock_3 (mock_request ): « » « méthode à trois: méthode de décorateur utilisé valeur simulée de retour de la fonction de l' objet à remplacer » « » Assert invoke_mock_request ( « https://www.baidu.com/ » ) == mock_request.return_value
C'est: avant d'appeler invoke_mock_request () pour revenir à leurs interfaces méthode de la valeur mock_request () dépendante peut être remplacé, et comment cela est le cas quelle que soit la méthode de la valeur de retour du changement, nous avons juste besoin de se concentrer sur la maquette