xユニット

xUnit は、共通の祖先であるSUnitにまで遡ることができる重要な構造と機能を共有する自動テストソフトウェア フレームワークに使用されるラベルです。

SUnitフレームワークは、Kent BeckErich GammaによってJava移植され、 JUnitとして広く普及しました。他の言語への移植も盛んに行われ、構造化されたオブジェクト指向スタイルはJavaやC#などの一般的な言語でもうまく機能すると主張する人もいました。

適応型の名称は、多くの場合、「SUnit」の「S」を対象言語名の略語に置き換えたものです。例えば、Javaの場合はJUnit、Rの場合はRUnitです。「xUnit」という用語は、このような適応型を指します。ここで「x」は言語固有の接頭辞のプレースホルダーです。

xUnit フレームワークは、ユニット テスト(分離されたコード ユニットのテスト) によく使用されますが、統合システムを含むあらゆるレベルのソフトウェア テストに使用できます。

建築

xUnitフレームワークは次のような一般的なアーキテクチャを持っています。[ 1 ]

テストケース

テストケースはテストの最小単位であり、通常はテスト対象ソフトウェアにおける単純なパスをコード化したものです。テストケースコードは、入力データと環境状態を準備し、テスト対象ソフトウェアを起動し、期待される結果を検証します。

プログラマーは各テストケースのコードを書きます。

アサーション

テスト ケースは、期待される結果を検証する 1 つ以上のアサーションを使用して実装されます。

一般的に、フレームワークはアサーション機能を提供します。フレームワークによっては、カスタムアサーションを使用する方法を提供する場合もあります。

テストスイート

テストスイートは、関連するテストケースの集合です。テストスイートは共通のフレームワークを持ち、環境設定とクリーンアップコードの再利用を可能にします。

一般に、テスト ランナーはスイートのケースを任意の順序で実行できるため、プログラマーは上から下への実行順序に依存すべきではありません。

テストフィクスチャ

テストフィクスチャ(テストコンテキストとも呼ばれます)は、スイート内の各テストケースの環境を提供します。通常、フィクスチャは、テスト実行前に既知の適切な実行環境をセットアップし、テスト実行後に環境をクリーンアップするように構成されます。

フィクスチャは、状態をセットアップおよびクリーンアップする1つ以上の関数で構成されています。テストランナーは、各ケースの前に各セットアップ関数を実行し、ケースの後に各クリーンアップ関数を実行します。

テストランナー

テストランナーはテストを実行し、結果を報告するプログラムです。[ 2 ]このプログラムはフレームワークの一部となることが多いです。

テストランナーは様々な形式で結果を生成します。多くの場合、人間が読めるプレーンテキスト形式が一般的かつデフォルトの形式です。さらに、ランナーは構造化された出力を生成することもあります。一部のxUnitアダプテーション(JUnitなど)は、JenkinsAtlassian Bambooなどの継続的インテグレーションシステムで使用できるXMLを出力できます。

参照

参考文献

  1. ^ Beck, Kent. 「Simple Smalltalk Testing: With Patterns」 . 2015年3月15日時点のオリジナルよりアーカイブ。 2015年6月25日閲覧
  2. ^ Meszaros, Gerard (2007) xUnit テストパターン、Pearson Education、Inc./Addison Wesley