web-dev-qa-db-ja.com

Pycharmはファイルの実行を許可しません。 unittestの実行オプションのみを表示します。

私にはファイルがあり、「test」で始まるメソッドがたくさんあります。今、私はこのファイルを実行したいのですが、__name__ == "__main__"それをセットアップする構成体。しかし、右クリックするか、メニューバーを実行すると、「xxxでユニットテストを実行する」しか表示されません(Pycharm)。これは非常に迷惑な動作です。

誰かがこれを回避する方法を教えてください。

38
VaidAbhishek

'if name == "main"'ブロック内を右クリックすると、「ユニットテストの実行」の代わりに通常の「スクリプトの実行」オプションが表示されます。 。その後、作成した実行構成を保存し、それを使用してスクリプトを実行できます。

23
yole

@yoleの答えに欠けている詳細の1つは、ファイルを右クリックして実行/デバッグする前に、ファイルに関連付けられている既存の構成を削除する必要があることです。したがって、完全な手順は次のとおりです。

  1. 「構成の編集」に移動して、そのファイルの既存の構成を削除します
  2. if __name__ == '__main__':ブロック内を右クリック
  3. Runを選択します
  4. 設定を保存します

その後、期待どおりにファイルを実行またはデバッグできるはずです。

14
Andrew Hedges

私は@yoleの答えを得ることができませんでしたが、実行>構成の編集>新しい構成(プラス記号)> pythonを選択し、名前を入力します(私のものは「流血のユニットテストをやめた」)を選択し、正しいスクリプト

PyCharm Community Edition 2017.2 EAPの使用。ここに私がそれをした方法があります:

  1. RunメニューからRun...を選択します。 (またはそのキーボードショートカットを使用)
  2. edit configuration...my_script_nameUnittests in my_script_name.pyの少なくとも3つのエントリを含むポップアップメニューが表示されます。 my_script_nameの右矢印をクリックします。
  3. 設定が保存されていない場合は、矢印メニューにsave configurationオプションが表示されるはずです。それを選んでください。

設定が再度変更された場合は、同じ手順に従いますが、今回は最後の手順でrunを選択します。

5
AXO

私に関しては、「 'if name == "main"'ブロック内を右クリックした場合」は機能しません。

たとえば、「dlib_fun_test.py」を実行する場合は、「構成を編集」し、「pythonテスト」から削除してから、上記の「Python」に追加する必要があります。

以下は私の設定です:

enter image description here

または、bashコンソールでpython just_test.pyを使用してスクリプトを実行することもできます。

enter image description here

2
Jayhello

私は同じ問題を抱えていて、取り組んでいるプロジェクトのディレクトリにある.ideaフォルダを削除して、再びテストを通常どおり実行することができました。

PyCharm 2018.2.4 (Community Edition)
Build #PC-182.4505.26, built on September 19, 2018
JRE: 1.8.0_152-release-1248-b8 AMD64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Windows 10 10.0

追伸ヘルプ->バージョン情報に移動して、PyCharmのバージョンを確認できます。

0
Alex Malcolm