ユニット テストの概要

提供: RAD Studio
移動先: 案内検索

DUnit の概要 への移動


警告: DUnit は非推奨になりました。そのため、今後は機能強化されません。DUnit を使用した新規開発はしないことをお勧めします。既存テストを DUnit から DUnitX に移行することを検討してください。「DUnitX の概要」を参照してください。

2010 用のビデオ『Delphi ユニット テスト』(英語版、Mike Rozlog解説)が閲覧できるようになりました。

RAD Studio には、オープンソース テスト フレームワーク DUnit が統合されており、ユーザーのアプリケーションに対して自動化されたテスト ケースを作成して実行できます。この DUnit フレームワークは、Delphi と C++ の両方に提供されています。このフレームワークにより、アプリケーション内のクラスとメソッドのテストを作成するプロセスが簡単になります。ユニット テストをリファクタリングとともに使用することで、アプリケーションの安定性を向上できます。小さな変更を加えるたびにコード全体で標準のテスト一式を実行すれば、開発サイクルの初期段階で発生する問題を検出しやすくなります。

DUnit テスト フレームワークは JUnit テスト フレームワークに基づいたもので、多くの機能を共有しています。

このトピックでは、以下の情報について説明します。

  • インストール内容
  • テスト プロジェクト
  • テスト ケース
  • テスト フィクスチャ

インストール内容

デフォルトでは、DUnit フレームワークは RAD Studio の完全インストールか、個別のパーソナリティ(Delphi または C++Builder)のいずれかのインストールでインストールされます。

DUnit

Delphi および C++Builder の場合、DUnit フレームワークは、RAD Studio インストーラにより自動的にインストールされます。多くの DUnit リソースは、インストール ディレクトリのルートにある \source\DUnit ディレクトリに置かれます。リソースには、ソース ファイル、ドキュメントやテストのサンプルがあります。

C++Builder の場合、次の C++ ヘッダーとライブラリ ファイルが、C++ テスト プロジェクトとして、使用するために提供されます。

  • GUITestRunner.hpp
  • XMLTestRunner.hpp
  • TextTestRunner.hpp
  • TestFramework.hpp
  • DUnitMainForm.hpp
  • DUnitAbout.hppdir
  • dunitrtl.lib

メモ: これらのファイルは、標準 DUnit 配布の一部ではありません。これらのファイルはプリビルドされ、役に立つように C++Builder に含まれています。

一般に DUnit を使用するとき、少なくとも 1 つのテスト ケースと(複数の)テスト フィクスチャを含めます。通常のテスト ケースには、テストするクラスの機能を検証するためのアサーション文が 1 つ以上含まれます。

DUnit は、Mozilla Public License Version 1.1 下でライセンス許可されています。

テスト プロジェクト

テスト プロジェクトは 1 つ以上のテスト ケースをカプセル化し、IDE の[プロジェクト マネージャ]で 1 つのノードとして表されます。RAD Studio には、[テスト プロジェクト]ウィザードが用意されており、ユーザーはこのウィザードで基本テスト プロジェクトを作成できます。テスト プロジェクトを作成してコード プロジェクトに関連付けたら、テスト ケースを作成し、そのテスト プロジェクトにテスト ケースを追加できます。

テスト ケース

普通のユニット テスト プロジェクトでは、テスト対象の各クラスには、対応するテスト クラスがあります。ただし、これは必須ではありません。このテスト クラスは、テスト ケースとも呼ばれます。ユーザーが使用しているフレームワークの種類により、テスト クラスは、特定テスト ケースの基底クラスから派生したクラスである場合もあります。一般に、テスト ケースには、テスト対象のクラスにあるメソッドの 1 つに対応する(複数)メソッドのセットがあります。1 つのテスト プロジェクトに複数のテスト ケースを作成できます。各テストをテスト ケースに、各テスト ケースをテスト プロジェクトにそれぞれ組み合わせてグループ化できることで、テスト ケースは、print 文を使用したりデバッガ式を評価するなどの単純な形式のテストとはまったく異なる機能を持ちます。各テスト ケースとテスト プロジェクトは、再利用、再実行でき、バッチ ファイル、ビルド スクリプト、別のタイプのテスト システムを利用して自動実行できます。

一般にソース ファイル プロジェクトとは異なるプロジェクトにテストを作成することをお勧めします。プロジェクトを分けると、テストを実稼働アプリケーションから削除するプロセスが不要になります。RAD Studio には、基本テスト ケース(必要に応じてカスタマイズできる)の作成を支援する[テスト ケース]ウィザードが用意されています。

テスト フィクスチャ

テスト フィクスチャとは、論理的に関連する機能をテストする複数のテスト ケースの組み合わせを指します。テスト フィクスチャはテスト ケース内で定義できます。通常は、SetUp セクションと TearDown セクションでオブジェクトをインスタンス化し、変数を初期化し、データベース接続を設定し、メンテナンス作業を実行します。同じオブジェクトに対して実行するテストであれば、任意のテスト フィクスチャに複数のテストを組み込むことができます。

関連項目