Pythonのmockを使っているときに、mock.patch
とか、 mock.patch.object
とか出てきて、この違いをうまく説明できない。
今回は、もう少しこの理解を深めたいと思う。
今のところ、オブジェクトの時は、objectが必要、、、みたいな、ふわっとした理解になっている。
今のところの理解
mock.patch
は、文字列で指定されたimport するパッケージをモックしている。文字列で指定されたパッケージ、クラスを先にインポートして、それを別のオブジェクトに置き換えるようなイメージmock.patch.object
は、指定したオブジェクトのプロパティを置き換える。文字列ではなくて、オブジェクトを渡して置き換える点がmock.patchと違う。