Pythonにて、「メソッドを差し替え、テスト対象オブジェクトの属性を更新する」テストコードを作成する機会があったため、メモを残します。 なお、良いタイトルが思い浮かびませんでしたので、mock.object(autospect=True)のサンプルとして考えてください… 目次 環境 状況 対応 ソースコード 環境 Python 3.6.0 unittest.mock.patch.objectを使用 pytest 3.0.6 テストランナーとして使用 状況 こんなテスト対象コードがありました。 class Target(object): def target_method(self): self.can_print = False # この中でself.can_printを更新しているが、戻り値は何もない self.validate() if self.can_print: return