0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

python -m unittestでテストファイルが検出されない

Posted at

つまづいたこと

python -m unittestをコマンドで実行すると自動でunittestが書いてあるファイルを検出してテストを実行してくれるはずだったが、テストファイルが全く検出されなかった。

参考記事:python.org - unittest

解消した方法

テストが書いてあるフォルダに__init__.pyを追加

バグ解消前の階層

$ tree
.
├── server
│   └── index.py
└── tests
    └── test_index.py

バグ解消後の階層

$ tree
.
├── server
│   ├── __init__.py
│   └── index.py
└── tests
    ├── __init__.py
    └── test_index.py

補足

__init__.pyのファイルの中身は空でOKです。

結果

$ python3 -m unittest
.s
----------------------------------------------------------------------
Ran 2 tests in 0.000s

OK (skipped=1)

__init__.pyの役割とは?

今回、python3 -m unittestで検出されなかった理由は、testファイルが書かれているファイルのディレクトリがモジュール化されていなかったから。(unittestはモジュールの中にあるテストファイルを探す)

ディレクトリに__init__.pyを追加することで、そのディレクトリがモジュール化されるらしい。

詳しいことは以下に書かれています。
[Python の init.py とは何なのか - Qiita](Python の init.py とは何なのか - Qiita)

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?