いつもお世話になっております。標題の通り、pytestにて自作のモジュールを差し替える方法をご教授いただければ幸いです。
以下の様なプロダクションコードとconfig用モジュールが存在し、
# main.py import config class Target(object): def print_config(self): print(config.1st_arg) print(config.2st_arg) print(config.3rd_arg)
# config.py 1st_arg = 'main1' 2st_arg = 'main2' 3rd_arg = 'main3'
こちらのconfig.pyをテスト用のもの(mock_config.py)に差し替えたい場合どの様にすれば良いでしょうか?
# mock_config.py 1st_arg = 'mock1' 2st_arg = 'mock2' 3rd_arg = 'mock3'
monkeypatch.setattr()を用いることでモジュール内のメソッドを差し替えることは可能かと思いますが、このような同名の変数等をもつモジュールそのものを差し替える方法に難儀しております。
どうぞよろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。