QAエンジニア|”__init__.py”ってなに?

QAエンジニア学習記録

PythonでAppiumやPlaywrightを使ってテスト自動化を始めると、最初に戸惑うのが「init.pyってなんで必要なの?」という疑問です。
さらにVisual Studio Code(VS Code)を使っていると、「launch.jsonを作ってください」と出てきて混乱することも多いですよね。

私自身、最初はエラーの意味もわからず、何度も検索しては立ち止まりました。
でも仕組みを理解してからは「これは目印」「これは地図」と捉えられるようになり、迷子にならずにテストを実行できるようになりました。

この記事では、初心者のQAエンジニアでも安心して理解できるように、init.pyの役割とlaunch.jsonの意味をセットで解説します。
同じところでつまずいている方が、スムーズにテスト自動化を進められるようになれば嬉しいです。


init.py の役割とは?

Pythonには「このフォルダはパッケージですよ」と教える仕組みがあります。
その目印となるのが __init__.py です。

  • ファイル名は必ず __init__.py。他の名前では認識されません。
  • 中身は空でも大丈夫です。よく使う関数をまとめて再輸出することも可能です。
  • これがあることで import modules.xx のように、フォルダ内のモジュールを呼び出せます。

👉 簡単に言えば「フォルダをimport可能にするための印」です。


どのフォルダに置く?

テスト自動化プロジェクトの例を見てみましょう。

test_project/
├─ data/           ← テストデータ置き場 → 不要
├─ modules/        ← 共通ロジック       → 必要(ここに置く)
│   ├─ __init__.py
│   ├─ xx.py
│   └─ yy.py
├─ scripts/        ← 実行スクリプト     → 基本は不要
│   ├─ test1.py
│   └─ test2.py
├─ reports/        ← 実行結果出力       → 不要
└─ config/         ← 環境設定           → 不要
  • 必要:modules/
  • 不要:data/, reports/, config/
  • scripts/ は launch.json を設定すれば不要になります。



まとめ

  • __init__.py は「フォルダをimport可能にする目印」
  • 置くのは modules/ だけでOK
タイトルとURLをコピーしました