Tôi đang cố gắng để hiểu sự khác biệt giữa hai cách tiếp cận này của mocking một phương pháp. Ai đó có thể vui lòng giúp phân biệt chúng? Ví dụ này, tôi sử dụng thư viện passlibSự khác biệt giữa mock.patch.object (... và mock.patch (
from passlib.context import CryptContext
from unittest import mock
with mock.patch.object(CryptContext, 'verify', return_value=True) as foo1:
mycc = CryptContext(schemes='bcrypt_sha256')
mypass = mycc.encrypt('test')
assert mycc.verify('tesssst', mypass)
with mock.patch('passlib.context.CryptContext.verify', return_value=True) as foo2:
mycc = CryptContext(schemes='bcrypt_sha256')
mypass = mycc.encrypt('test')
assert mycc.verify('tesssst', mypass)
Cảm ơn câu trả lời của bạn, Martijn và để làm rõ. – Dowwie