Python で単体テストを実行する

Marion Paul Kenneth Mendoza 2024年2月15日
  1. 単体テストとは
  2. Python でテスト ケースを作成および定義する
  3. Python を使用して単一のテストを実行する
  4. Python で複数のテストを実行する
Python で単体テストを実行する

単体テストと呼ばれるソフトウェア開発プロセスでは、ユニットと呼ばれる、アプリケーションの独立してテスト可能な小さいコンポーネントの機能が検査されます。 Python unittest モジュールを使用すると、単体テストを実行できます。

この記事では、単体テストと Python での実行方法について説明します。

単体テストとは

計画、ケースとスクリプト作成、および実際の単体テストは、単体テストの 3つの段階です。

最初の段階では、単体テストの作成とレビューが行われます。 次の段階は、テスト ケースとスクリプトの作成です。

Python でテスト ケースを作成および定義する

始める前に、この記事では Python バージョン 2.7 以降を使用していることに注意してください。 ただし、最新の Python 3.x バージョンを使用することをお勧めします。

テスト ケースは、システムがソフトウェア要件に準拠しており、適切に動作するかどうかを確認するための、システムに対する一連の操作です。 テスト ケースの目的は、さまざまな設計機能が期待どおりに機能するかどうかを確認し、システムが適用されるすべての標準、推奨事項、およびクライアントのニーズに準拠していることを確認することです。

テスト ケースを作成する行為は、システムの欠陥や間違いを特定するのにも役立ちます。 Python では、サブ関数 TestCase を使用して、後でテストするテスト ケースを作成できます。

しかし、最初に unittest モジュールをインポートして、モジュールをコードで使用できるようにします。

コード例:

import unittest


def sample_test(sample_list):
    if len(sample_list) > 10:
        raise ValueError("A maximum of 10 objects can be added to the container")
    return {"container_a": sample_list}


class TestAddObjectToContainer(unittest.TestCase):
    def test_add_object_to_container_success(self):
        actual = add_object_to_container(sample_list=["A", "B"])
        expected = {"container_a": ["A", "B"]}
        self.assertEqual(actual, expected)

Python を使用して単一のテストを実行する

たとえば、開発したテスト ケースをテストするには、必要なセットアップが完了したら、次のコマンドを実行します。

コード例:

python -m unittest main.py

このコマンドを実行すると、次の出力が得られます。

テストの実行 - 成功

または、テストにエラーがある場合は、このようなものです。

テストの実行 - 失敗

Python で複数のテストを実行する

たとえば、テストごとに複数の Python ファイルを作成し、それらを 1つのディレクトリに配置した場合、discover メソッドを使用してそれらを一緒に実行できます。 テスト ファイルを自動検出するには、以前に作成した Python ファイル main.py のようにキーワード test で始まる名前を付ける必要があります。

python -m unittest discover

上記のコマンドは、名前が test で始まるすべてのファイルを検出して実行します。

Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

関連記事 - Python Unit Test