次の方法でコンストラクターを定義しました。
def __init__(self):
//set some properties
...
self.helperMethod()
def helperMethod(self):
//Do some operation
ヘルパー メソッドを単体テストしたいのですが、単体テストを実行するためのオブジェクトを作成するには、__init__
メソッドを実行する必要があります。ただし、これを行うとヘルパー メソッドが呼び出されますが、これは望ましくありません。これは、テストする必要があるメソッドだからです。
__init__
メソッドをモックアウトしようとしましたが、 __init__ should return None and not MagicMock
.
以下の方法でヘルパーメソッドのモックアウトも試みましたが、モックしたメソッドを手動で復元する方法が見つかりませんでした。MagicMock.reset_mock() はこれを行いません。
SomeClass.helperMethod = MagicMock()
x = SomeClass()
[Need someway to undo the mock of helperMethod here]
ヘルパーメソッドを単体テストするための最良の方法は何ですか?