Pytestのtmp_pathをStringオブジェクトに変換する
背景
- Pytestにおいて、一時的なディレクトリやファイルを生成する場合、Pytest組み込みのtmp_pathを利用するときがある。
- tmp_pathは、pathlib.Pathオブジェクトである。
問題
- たまにtmp_pathを使用して作った一時的なパス/ファイルを、文字列として取得したい場合がある。
解決法
解決法は単純で、str()で囲むだけ。以下は使用例である。
def test_somthing(tmp_path): d = tmp_path / 'mydir' d_str = str(d)
上の例で、dはPathオブジェクトだが、d_strはStringオブジェクトになるので、文字列として扱うことができる。