Mock を使用して、クラスのメソッドを特定の戻り値に置き換えています。それは非常にうまく機能しますが、少しうまく機能しすぎるかもしれません... 私はこれを行います (以下を参照)。しかし、次のテスト クラスでは、パスワード クラスをモックせずに再利用します。そのテストに配置されたモックはまだ有効です。
from utils import password as pass_helper
class TestPassword(unittest.TestCase):
def setUp(self):
self.username = "user"
self.password = "Test_1234_pass"
pass_helper._get_password_from_keyboard = Mock(return_value=self.password)
def test_password(self):
password = pass_helper._get_password_from_keyboard(self.username)
self.assertEqual(password, self.password)
こんな感じでTearDownメソッドのモックを元に戻そうとしたのですが、うまくいきません。
pass_helper._get_password_from_keyboard = pass_helper._get_password_from_keyboard
クラスメソッドの元の機能を復元するにはどうすればよいですか?