PyCharm 2021.1 ヘルプ

ステップ 3. 最初の Python アプリケーションをテストする

1 番目のチュートリアルでは最初の Python アプリケーションを作成し、2 番目のチュートリアルではデバッグしました。それでは、いくつかのテストを行います。

テストランナーの選択

以前に nosetest(英語)pytest(英語)、または Twisted Trial(英語) を使用したことがある場合は、unittest(英語) を選択する必要があります。それがどのように行われるかについては、テストフレームワークを選択してくださいを参照してください。

Selecting a test runner

テストの作成

テストを作成する簡単な方法は、テストするクラスから PyCharm にテストをスタブ化させることです。これを行うには、Car.py を開き、クラスの名前を右クリックして移動をポイントし、テストを選択する必要があります(または Ctrl+Shift+T を押すだけです)。

Go to test

新しいテストを作成することを提案するポップアップが表示されます。

Create a new test

OK、やってみましょう。私たちの車が加速しブレーキをかけることができるかどうかをテストするつもりのため、これらのチェックボックスを選択しましょう:

Create test dialog

新しい Python テストクラスが作成されます:

test class

テスト用に実行 / デバッグ構成を作成して実行できます。

Running a test from the context menu
ただし、デフォルトではテストが失敗することがわかります。

Failed test

テストを実行できることを知ったため、実際のテストコードを書き始めましょう。

テストの記述

単体テストの書き方は、この記事の範囲外です。`unittest` フレームワークの使用について学びたい場合は、彼らのドキュメントをチェックしてください(英語)

この例では、次のテストを使用します。

import unittest from Car import Car class TestCar(unittest.TestCase): def setUp(self): self.car = Car() class TestInit(TestCar): def test_initial_speed(self): self.assertEqual(self.car.speed, 0) def test_initial_odometer(self): self.assertEqual(self.car.odometer, 0) def test_initial_time(self): self.assertEqual(self.car.time, 0) class TestAccelerate(TestCar): def test_accelerate_from_zero(self): self.car.accelerate() self.assertEqual(self.car.speed, 5) def test_multiple_accelerates(self): for _ in range(3): self.car.accelerate() self.assertEqual(self.car.speed, 15) class TestBrake(TestCar): def test_brake_once(self): self.car.accelerate() self.car.brake() self.assertEqual(self.car.speed, 0) def test_multiple_brakes(self): for _ in range(5): self.car.accelerate() for _ in range(3): self.car.brake() self.assertEqual(self.car.speed, 10) def test_should_not_allow_negative_speed(self): self.car.brake() self.assertEqual(self.car.speed, 0) def test_multiple_brakes_at_zero(self): for _ in range(3): self.car.brake() self.assertEqual(self.car.speed, 0)

テストの実行

次に、クラス test_car の宣言の上にあるエディターの背景を右クリックして、テストを実行します。今回はいくつかのテストが成功しました:

Run unittest

テストのデバッグ

次に、テストコードを詳しく見て、失敗したテストの 1 つをデバッグしてみましょう。例: 次の場所にブレークポイントを設定します。

Test breakpoint

次に、デバッガーセッションを起動します。これを行うには、test_should_not_allow_negative_speed メソッドでエディターの背景を右クリックしてコンテキストメニューからデバッグを選択するか、ナビゲーションバーの Start debugger をクリックします。

Debug

test_should_not_allow_negative_speed メソッドの self.car.brake() ステートメントにブレークポイントを設定しました。デバッガーの出力を見てみましょう:

Debugging output

Step into ボタンをクリックしてライブラリクラスをスキップし、クラス Car に進みます:

Skip the library

次に、同じ Stepping into my code ボタンをもう一度クリックして、テストデバッグ出力を確認します。

Debugging output

速度が負になる可能性があることを示しています。 Car クラスのコードでは、いくつかの追加チェックが必要になると思われます。

メソッド brake を次のように変更します。

def brake(self): if self.speed < 5: self.speed = 0 else: self.speed -= 5

ここでもう一度テストを実行してみましょう。

Debuggin output

自動的にテストを実行する

最後の段落では、コードを修正した後、Tool windows アイコンを使用してテストを行いました。あなたのコードに集中したい場合は、問題を解決した時点で PyCharm が自動的にテストを実行できます。

実行ツールバーRun test automatically ボタンをクリックします。その後、プロジェクトファイルに変更を入力するたびに(以前に行ったように)、テストはユーザーの介入なしに実行されます。

関連ページ:

ステップ 1. 最初の Python プロジェクトを作成して実行する | PyCharm

始める前に:次の前提条件が満たされていることを確認してください。PyCharmCommunity または Professional を使用しています。Python 自体をインストールしました。macOS または Linux を使用している場合、コンピューターにはすでに Python がインストールされています。python.org から Python を取得できます。Python プロジェクトの作成:PyCharm の使用を開始するには、Python スクリプトを書いてみましょう。プロジェクト...

ステップ 2. 最初の Python アプリケーションをデバッグする | PyCharm

問題の原因を突き止める:前のチュートリアルで Car スクリプトを作成して実行したことを覚えていますか? もう少し遊んで、関数を次のように修正しましょう。def average_speed(self): return self.odometer / self.time スクリプトを始めるときに何が起こるのかを見て、平均スピードを調べてみましょう。おっと... PyCharm はランタイムエラーを報告します: コードをもう少し掘り下げて、何が間違っているのかを調べてみましょう。PyCharm デバッガー...

テストフレームワークを選択してください | PyCharm

設定 / 環境設定ダイアログを開き(を押します)、ノードツールでページ Python 統合ツールをクリックします。このページで、デフォルトテストランナーフィールドをクリックします。希望のテストランナーを選択してください: 選択したテストランナーが指定したインタープリターにない場合、適切な通知が表示されます。修復ボタンをクリックして、対応するフレームワークをダウンロードしてインストールします。デフォルトでは、推奨されるデフォルトのテストランナーは unittest です。ただし、デフォルトのフレームワー...

テスト用の実行 / デバッグ構成を作成する | PyCharm

実行 / デバッグ構成を使用して、通常のアプリケーションの実行と同様の方法でテスト(テストケース、テストスイートなど)を実行できます。PyCharm は、テストをターゲットとして指定できる、テスト目的で特別な実行 / デバッグ構成を作成するためのフレームワークを提供します。セクション実行 / デバッグ構成の作成と編集で説明されている通常の手順に加えて、PyCharm には、コンテナー内のすべてのテスト、単一のテストケース、またはテストメソッドの実行 / デバッグ構成を作成するためのショートカット...

テストランナータブ | PyCharm

テストランナータブは、テストセッションの開始時に実行ツールウィンドウで開き、同じツールバーボタンを備えています。実行ツールバーは、実行ツールウィンドウのツールバーとほとんど同じですが、テスト固有のボタンを備えています。左側のペインには、現在の実行 / デバッグ構成内のすべてのテストのツリービューが表示されます。ルートノードは、実行するように選択されたテストを表します。ネストされたノードは、テストスイートとテストケースの階層を表します。リーフノードは個々のテストを表します。各テストのステータスはア...

ステップ 4. 最初の Django プロジェクトを作成して実行する | PyCharm

始める前に:次の前提条件が満たされていることを確認してください。PyCharm バージョン 2016.1 以降を使用しています。PyCharm をお持ちでない場合は、このページからダウンロードしてください。PyCharm をインストールするには、プラットフォームに応じて、指示に従ってください。コンピューターに少なくとも 1 つの Python インタープリターが正しくインストールされています。このページからインタープリターをダウンロードできます。Django パッケージがインストールされていま...