Testng-overview

提供:Dev Guides
移動先:案内検索

TestNG-概要

テストとは、アプリケーションの機能をチェックして、要件に従って動作することを確認するプロセスです。 単体テストは、開発者レベルで全体像を描き、最終製品が要件を満たしていることを確認するために、すべての単一エンティティ(クラスまたはメソッド)をテストするための適切な手段が取られます。

JUnitは、他のテストフレームワークと比較して、テスト、特に単体テストの有用性を開発者が理解するように駆り立てています。 かなり単純で実用的で厳格なアーキテクチャを活用して、JUnitは多数の開発者に「感染」させることができました。 JUnitのチュートリアルを見て、その機能を十分に理解してください。 JUnitには、同時にいくつかの欠点もあります。以下にリストします-

  • 当初は単体テストのみを有効にするように設計されていましたが、現在ではあらゆる種類のテストに使用されています。
  • 依存関係テストを実行できません。
  • 不十分な構成制御(setUp/tearDown)。
  • 侵入的(クラスを拡張し、メソッドに特定の方法で名前を付けることを強制します)。
  • 静的プログラミングモデル(不必要に再コンパイルするように強制します)。
  • 複雑なプロジェクトのさまざまなテストスイートの管理は非常に難しい場合があります。

TestNGとは何ですか?

そのドキュメントによるTestNGの定義は次のとおりです-

_TestNGは、JUnitおよびNUnitから着想を得たテストフレームワークですが、より強力で使いやすいいくつかの新しい機能を導入しています。

TestNGは、オープンソースの自動テストフレームワークです。ここで、 NG は* N ext G *列挙を意味します。 TestNGはJUnit(特にJUnit 4)に似ていますが、JUnit拡張機能ではありません。 JUnitに触発されています。 特に統合クラスをテストする場合、JUnitよりも優れているように設計されています。 TestNGの作成者は_Cedric Beust_です。

TestNGは、古いフレームワークのほとんどの制限を取り除き、開発者がより柔軟で強力なテストを作成できるようにします。 Java Annotations(JDK 5.0で導入)からテストを定義するために大きく借用しているため、実際の実稼働環境でJava言語のこの新しい機能を使用する方法を示すこともできます。

TestNGの機能

  • 注釈をサポートします。
  • TestNGは、より多くのJavaおよびOO機能を使用します。
  • 統合されたクラスのテストをサポートします(たとえば、デフォルトでは、すべてのテストメソッドに対して新しいテストクラスインスタンスを作成する必要はありません)。
  • コンパイル時のテストコードを実行時の構成/データ情報から分離します。
  • 柔軟なランタイム構成。
  • 「テストグループ」を導入します。 テストをコンパイルしたら、TestNGにすべての「フロントエンド」テスト、または「高速」、「低速」、「データベース」テストなどを実行するように依頼できます。
  • 依存テスト方法、並列テスト、負荷テスト、および部分的な障害をサポートします。
  • 柔軟なプラグインAPI。
  • マルチスレッドテストのサポート。