我的项目文件夹结构:
myproject
utilities--encrypt_decrypt_util -- encrypt()
src --sample.py
tests --sample_test2.py
src / sample.py:
from utilities.encrypt_decrypt_util import encrypt
def m1():
print('from m1 method')
encr_pwd=encrypt('SGu2s2RFT')
print(encr_pwd)
test / sample_test2.py:
from src.sample import m1
from mock import patch
def encrypt(password):
print('its mock...')
return 'encryptedpassword'
@patch('utilities.encrypt_decrypt_util.encrypt')
def test_mytst2(mock_m2):
print('From test_mytst2 method')
mock_m2.return_value= encrypt('password')
print(m1())
utilities / encrypt_decrypt_util.py
def encrypt(plain_text_pwd: str) -> bytes:
#some code here
return encrypted_password
当我执行pytest test_mytst2
时,应该模拟encrypt
方法,但是会调用utils
中的原始方法。
您能帮忙理解一下是什么问题。