0
私はdjangoアプリケーションで使用されている設定ファイルにパッチを適用しようとしています。私はDjangoがここではあまり関連性があるとは思わないが、このファイル構造を部分的に駆動する。私が正しく、このコンフィグ設定にパッチを適用するにはどうすればよいpythonで別の名前としてインポートされた設定ファイルにパッチを当てる
アプリ/ views.py
from . import config as APP_CONFIG
...later on in some function...
retry_count = APP_CONFIG.MAX_NUMBER_RETRIES
アプリ/ config.py
MAX_NUMBER_RETRIES = 1
?
私のテスト機能では@patch('app.views.CONFIG.MAX_NUMBER_RETRIES', 1)
または@patch('app.config.MAX_NUMBER_RETRIES', 1)
の品種を使用してみました(私はpytestを使用しています)。
これは私にとってはうまくいかず、テストが実行される前にこれをインポートするのであれば、パッチ値が有効にならないのでしょうか?より正確には、私の例では、クラスの属性を設定するために値を使用しています(djangoのListView)。 – Chris
私はそれを動作させることができませんでしたが、それはDjangoなので、私はテストでビューをインスタンス化するときにパラメータを渡しました。これは標準的なオプションのパラメータの1つで、それに対応するコードを変更することなくテストすることができます。 – Chris