※このページではアフィリエイト広告を紹介しています

srcレイアウト採用時にpytestで自動テストする方法

Python
この記事は約6分で読めます。
広告

概要

srcフォルダとtestsフォルダを分けると、何もしないとtestsフォルダの自動テストコードからsrcフォルダのモジュールが参照できないエラーになります。このエラー解消方法のメモです。

srcフォルダとtestsフォルダを分ける配置を「srcレイアウト」と呼びます。

 

[広告]関連書籍

 

プロジェクト構造

プロジェクトは下記のフォルダ構成とします。

[project]
│  pyproject.toml
│  uv.lock
├─src
│  └─value_object
│      │  capitalized_name.py
│
└─tests
    │  test_capitalized_name.py

 

pyproject.tomlの設定

10行目~15行目を追加し、uv syncします。srcフォルダ内のモジュールがインストールされ、testsフォルダ内の自動テストコードから参照できるようになります。

Python のプロジェクトをパッケージングする - Python Packaging User Guide

 

下記10行目~12行目を追加する設定もよく紹介されますが、IDEから自動テストコードを見たときにエラーが残るため採用していません。ただ単にIDE側の設定の問題かもしれませんが。

コメント

タイトルとURLをコピーしました