小さなテストの作成から、アプリやライブラリの複雑な機能テストまで対応するPythonテストフレームワーク。
gabrielcnr/pytest-datadir
テストデータのディレクトリを一時フォルダにコピーし、フィクスチャファイルを安全に読み書きできるpytestプラグインです。
- スター
- 277
- フォーク
- 28
- 未解決の Issue
- 8
- 最終コミット
- 4 日前
これは何?
pytest-datadirを使うと、テストと同じ場所にあるデータファイルをテストから利用できます。デフォルトでは、test_hello.pyというテストモジュールから、datadirフィクスチャを通じて対応するtest_hello/ディレクトリを利用でき、トップレベルのdata/フォルダはshared_datadirから参照できます。どちらのフィクスチャもpathlib.Pathオブジェクトを返すため、標準的なパス操作でファイルを読み込めます。
データディレクトリの内容は、テストごとに一時領域へコピーされます。そのため、元のフィクスチャやほかのテストに影響を与えずに、ファイルへの書き込みや変更ができます。バージョン1.7.0で追加されたlazy_datadirとlazy_shared_datadirは、joinpathまたは/演算子を通じてファイルにアクセスしたときにだけコピーするため、テストで使わない大きなディレクトリのコピーを避けられます。
主な機能
- 01datadirフィクスチャを通じて、モジュール固有のデータディレクトリを利用できます。
- 02shared_datadirフィクスチャを通じて、共有データディレクトリを利用できます。
- 03データを一時フォルダにコピーし、元のファイルを変更せずに保てます。
- 04lazy_datadirとlazy_shared_datadirを使うと、アクセスしたファイルだけをコピーできます。
- 05各フィクスチャはpathlib.Pathオブジェクトを返します。
ユースケース
- パーサーやファイル処理のテストで使うサンプル入力ファイルやフィクスチャを保存する。
- 元のフィクスチャに触れずにファイルを作成・変更するテストを書く。
- 共通のデータフォルダを使い、複数のテストモジュールでテストデータを共有する。
使う前に知っておきたいこと
- リポジトリのメタデータではライセンスがNOASSERTIONと記載されていますが、READMEにはMITと記載されています。使用前にライセンスを確認してください。
収録されている特集
トピック
よくある質問
- pytest-datadir とは?
- テストデータのディレクトリを一時フォルダにコピーし、フィクスチャファイルを安全に読み書きできるpytestプラグインです。 pytest-datadirを使うと、テストと同じ場所にあるデータファイルをテストから利用できます。デフォルトでは、test_hello.pyというテストモジュールから、datadirフィクスチャを通じて対応するtest_hello/ディレクトリを利用でき、トップレベルのdata/フォルダはshared_datadirから参照できます。どちらのフィクスチャもpathlib.Pathオブジェクトを返すため、標準的なパス操作でファイルを読み込めます。
- pytest-datadir は無料で使えますか?ライセンスは?
- pytest-datadir は Other ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- pytest-datadir は今もメンテナンスされていますか?
- 活発にメンテナンス中。pytest-datadir の最終コミットは 2026年11月3日 です。
- pytest-datadir は何に使えますか?
- パーサーやファイル処理のテストで使うサンプル入力ファイルやフィクスチャを保存する。 元のフィクスチャに触れずにファイルを作成・変更するテストを書く。 共通のデータフォルダを使い、複数のテストモジュールでテストデータを共有する。
- pytest-datadir はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/gabrielcnr/pytest-datadir
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
1.5万+14 今週3607PythonMIT活発にメンテナンス更新 一昨日
データベースの初期データ作成、テスト、匿名化などに使える、名前や住所、テキストなどのダミーデータを生成するPythonパッケージです。
1.9万+11 今週2141PythonMIT活発にメンテナンス更新 10 日前
47のロケールに対応し、名前、住所、メールアドレス、金額など、リアルなダミーデータを生成するPythonライブラリです。
4864372PythonMIT活発にメンテナンス更新 4 日前