のためにそのスタブを持つクラスを交換してください。この目的のために、high_cost_method()
をオーバーライドするためにAuxiliaryClassStub
クラスを作成しました。私のテストでdo_something()
をMyTestedClass
から実行したいが、do_something()
は実クラスの代わりにスタブを使うべきだ。
どうすればいいですか?
私の実際の補助クラスはかなり大きく、メソッドがたくさんあり、多くのテストでそれを使用するため、単一のメソッドにパッチを当てたくありません。私はテスト中にクラス全体を交換する必要があります。は、私はコード例を以下しているテスト
high_cost_method()
は静的なので、この場合は__init__()
または__new__()
を参考にしてください。
私は良い解決策だとは思わない。私はクラスを変更する必要があります。私は自分のコードにできるだけ少ない変更を加え、すべてのテストを嘲笑したいと思っています。 – Djent