-1
メソッドが呼び出されているかどうかを確認するための単体テストを書きたいと思います。それを行う方法はありますか?あるいは、ここでモックを使う方法を誤解していますか?このように、mocked_methodは常に呼び出されますが、引数は一切ありません。pytestを使用してメソッドが呼び出されたかどうかをテストする方法
@(pytest.parameterize)
def test(jsonrpc_proxy):
jsonrpc_proxy.method1_call()
# Method 1 should not call method 2
with mock.patch('method2') as mocked_method:
assert ((args),) not in mocked_track.call_args_list
# do something
jsonrpc_proxy.method1_call()
# Method 1 should call method 2
with mock.patch('method2') as mocked_method:
assert ((args),) in mocked_track.call_args_list
PS:私は投稿する前に、それに関連する他の質問を確認しているが、私は、我々はこのようなシナリオでモックを使用する方法についての全体の概念を誤解していと思います。私はこれを初めて知っているので、私に教えてください。
ありがとうございました。それは完璧だった! –
通常、 'mocked_method.assert_called_with(arguments ...)'で定義された呼び出しをアサートすることをお勧めします。 –