PycharmでunittestをDebug


はじめに

unittestを使ってテストコードを作成して初めて、Pycharmで直接Debugしてみたら、いきなり下記のエラーが出ました。本文では下記のようなPycharmでunittestをDebugする時、モジュールが見つからないエラーを解消する方法を共有します。

ImportError while importing test module \src\tests\utils\test_transmitters.py'.
Hint: make sure your test modules/packages have valid Python names.

エラーの原因

Pycharmでは自動的にunit testファイルを識別して、デフォルトでpytestで実行してしまうから。原因が分かりましたが、それならどうやって解決できるでしょうか?ここでは二つの方法を紹介します。

デフォルト実行環境をunittestにする

以下の手順でFile->setting->Tools->Python Intergrated Tools->Default test runner->Unittestsデフォルト実行環境を変えます。デフォルト実行環境を変えると、直接Debugしたいファイルを実行して、Debugできます。

ファイル毎に実行環境を用意する

以下のようにファイルの実行環境を追加します、必ずPython tests->Unittestsを選択してください。

後記

unittestで実行する場合、順番でテストメソッドを実行していますので、例えば、一つのテストクラスにたくさんのテストケースがある場合、一つ一つ実行してしまて、テスト時間が長くなってしまうことがあります。ここでは特定なメソッドを実行する方法を紹介します。
同じく実行環境を追加します、Python tests->Unittestsを選択して、TargetのところをModule nameを選択して、実行するメソッドを選択します。