# my_module.py
def walk_error_handler(os_error_instance):
logger.error(...)
for root, dirs, files in os.walk(path, onerror=walk_error_handler):
...
ユニットテストの方法os.walk
は、OSError
が発生した場合、カスタムハンドラを呼び出しますか?os.walkがエラーハンドラをトリガするユニットテストの方法は?
一時的なディレクトリに一時ファイルを作成し、そのディレクトリのアクセス権を制限することで、これを実行しようとしました。残念ながら、テストランナーが墜落した。より洗練されたソリューションを探しています。
stdlibがインスピレーションのために 'os.walk'をテストする方法を見てきましたか? https://github.com/python/cpython/blob/master/Lib/test/test_os.py#L986 – mgilson
*「残念ながらテストランナーが墜落しました。」*私はそのことを最も心配しています。 – Schwern
単体テストで 'walk_error_handler'を単純に模倣して、それが何かをしているかどうかを調べることができないのはよくわかりません。 – nir0s