PyCharm 2019.2ヘルプ

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

最初のチュートリアルでは最初のPythonアプリケーションを作成し、2番目のチュートリアルではデバッグしたことを覚えておいてください。今度はいくつかのテストを行う時です。

テストランナーの選択

以前にnosetest(英語)py.test(英語)、または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に進みます:

py debug car brake

次に、同じ 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 ボタンをクリックします。その後、プロジェクトファイルに変更を入力するたびに( 以前のように )、テストはあなたの介入なしに実行されます。

最終更新日: 2019年9月13日

関連事項

言語およびフレームワーク固有のガイドライン

関連ページ:

ステップ 1. 最初のPythonプロジェクトの作成と実行

始める前に:次の前提条件が満たされていることを確認してください。PyCharmCEまたはProfessionalで作業しています。Python自体をインストールしました。macOSまたはLinuxを使用している場合、コンピューターには既にPythonがインストールされています。python.orgか...

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

問題の原因を突き止める:前のチュートリアルでCarスクリプトを作成して実行したことを忘れないでください。もう少し遊んで、関数を次のように修正しましょう。 def average_speed(self): return self.odometer /...

テストフレームワークの選択

テストフレームワークを選択する設定/環境設定ダイアログを開き、ノードツールで、ページPython 統合ツールをクリックします。このページで、デフォルト・テスト・ランナーフィールドをクリックします。希望のテストランナーを選択してください:、次の点に注意してください。ユーザが特定のファイルと特定のテスト...

テスト用の実行/デバッグ構成の作成

通常のアプリケーションを実行するのと同じように、実行/デバッグ構成を使用してテスト(テストケース、テストスイートなど)を実行できます。PyCharmはテストをターゲットとして指定することができるテスト目的のための特別な実行/デバッグ設定を作成するためのフレームワークを提供します。セクション実行/デバ...

テストランナータブ

テストセッションが開始されると実行ツールウィンドウにテスト・ランナータブが開き、同じツールバーボタンが表示されます。実行ツールバーは実行ツールウィンドウとほぼ同じですが、テスト固有のボタンがあります。左側のペインには、現在の実行/デバッグ設定内のすべてのテストのツリービューが表示されます。ルートノー...

ステップ 4. 最初のDjangoプロジェクトの作成と実行

この機能は、Professionalエディションでのみサポートされています。このエディションは有償であり、優れた機能セットを提供します。詳細については、比較マトリックスを参照してください。始める前に:次の前提条件が満たされていることを確認してください。PyCharmバージョン2016.1以降で作業し...