L'utilisation de la maquette - pour résoudre le problème de l'interface de la dépendance

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

Je suppose que tu aimes

Origine www.cnblogs.com/wang-mengmeng/p/12602023.html
conseillé
Classement