ホームページ  >  記事  >  Java  >  Java 単体テスト

Java 単体テスト

王林
王林オリジナル
2024-08-30 15:54:571032ブラウズ

Java 単体テストは基本的に、Java アプリケーションを実稼働時にテストします。これは、ソース コードが運用環境での使用に適しているかどうかをテストする方法です。 Java 単体テストは、ソフトウェア アプリケーション内の各ユニットの個々のコンポーネントをテストするのに役立ちます。ユニットはソフトウェアの個別にテスト可能なコンポーネントであり、開発段階でテストされます。

Java 単体テストは、ソフトウェアの設計と実装における重要なステップの 1 つであり、コードの有効性と効率を向上させるだけでなく、その後の開発とメンテナンスにおける後退を軽減します。この記事では、Java 単体テストの基本プロセス、フレームワークの作成方法、およびアプリケーションのテスト例をいくつか紹介します。

無料ソフトウェア開発コースを始めましょう

Web 開発、プログラミング言語、ソフトウェア テスト、その他

Java 単体テスト

Java 単体テストとは何ですか?

Java 単体テストは JUnit のフレームワークであり、回帰テスト手法の 1 つです。これは、反復可能な自動化テスト ケースの読み取りと書き込みに使用されるオープンソース フレームワークです。 Java 単体テストは、コードのセクションを分離し、正確さを検証します。

STLC、SDLC、および V モデルでは、単体テストは、統合テストの前にアプリケーションをテストする最初のレベルです。 Java 単体テストは、開発者自身によって実行されるホワイト ボックス テストの一種です。実際の世界では、問題やその他の依存関係により、品質保証エンジニアが単体テストを行うこともあります。

Java 単体テストの基本プロセス

  • Java 単体テストを実行するには、ユーザーはテスト ケースを作成する必要があります。単体テスト ケースは、プログラム ロジックが期待どおりに動作することを確認します。
  • junit は、junit テスト用のインターフェイスとクラスが含まれるパッケージです。
  • Junit はテストのみに使用されるクラス内のメソッドであり、テスト クラスとして知られています。メソッドをテスト メソッドとしてマークするには、テスト対象のコードを実行する @Test アノテーションが付けられます。
  • ユーザーは、期待される結果と実際の結果を確認するのに役立つ Junit が提供する Assert メソッドまたはその他の Assert フレームワークを使用することもできます。これらは、アサートまたはアサート ステートメントと呼ばれます。
  • 通常、単体テスト ケースは、テスト コードを実際のソース コードから分離するために、別のソース フォルダーに作成されます。使用する Gradle および Maven ビルド ツールの標準規則は次のとおりです:

src/main/java – Java クラスの場合

src/test/java – テストクラス用

  • 静的インポートは、クラス内で「public static」として定義されたメソッドとフィールドを許可する Java の機能で、より短いステートメントを記述できるようにします。

Junit テストを使用して Java コードを作成およびテストする方法?

以下は、junit テストを使用して Java コードを作成およびテストする方法を示しています。

ステップ 1: まず、Junit コードをテストするには、Eclipse、IntelliJ、またはその他の IDE に Java Logic が必要です。現時点で Eclipse を https://www.eclipse.org/downloads/

からダウンロードします。

ダウンロードしたら、システムにインストールして起動します。

ステップ 2: 以下のように New – Java Project をクリックします:

Java 単体テスト

プロジェクト名を入力し、それに応じて JRE を選択します。

Java 単体テスト

Java 単体テスト

ステップ 3: 左側のペインに Java ファイルが表示されます。次に、プロジェクトを右クリックし、「新規 – クラス

」を選択します。

Java 単体テスト

クラス名を入力し、「完了」をクリックします。

Java 単体テスト

ステップ 4: 指定されたコードを使用して、以下のようにクラス ファイルを完成させます。

コード:

package junit_test;
public class Sample {
int x, y;
void Math(int x, int y) {
this.x = x;
this.y = y;
}
public int sum() {
return x + y;
}
}

出力:

Java 単体テスト

ステップ 5: 次に、[ファイル] – [Junit テスト ケース] をクリックします。

Java 単体テスト

Junit Test 4 を選択し、setup() を選択して、[完了] をクリックします。

Java 単体テスト

「OK」をクリックします。

Java 単体テスト

以下のテストコードが生成されます。

Java 単体テスト

ステップ 6: 機能をテストするために、以下のコードを作成します。

コード:

package junit;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class SampleTest {
Math math;
@Before
public void setUp() throws Exception {
math = new Math(8, 2);
}
@Test
public void testSum() {
Assert.assertEquals(17, math.sum());
}
}

出力:

Java 単体テスト

ステップ 7: テスト ファイルを右クリックし、[Run as – Junit test case] を選択します。

Java 単体テスト

条件が満たされている場合、つまり機能が単体テストされている場合、左側のペインは緑色で表示されます。

Java 単体テスト フレームワークとそのアプリケーション

Java 単体テスト フレームワークは、ソフトウェアの品質テストを実行する際に Java を使用してテスト スクリプトを作成する際に従う一連のガイドラインです。これらのルールは、テストの基本構造とテスト ライフサイクルの戦略を定義します。そのようなガイドラインには、スクリプト、テスト データ情報、リポジトリ、テスト結果などが含まれます。

以下は Java 単体テスト フレームワークの機能です:

  • 時間効率: ルールに基づいてガイド付きで構造化されたテスト ケースを策定することで時間を節約でき、品質管理が大幅に向上します。
  • コスト効率: Java 単体テスト フレームワークは、プロジェクトのコスト管理に役立ち、リソースの割り当てやコストの割り当てによって生じる無駄や支出を削減します。管理品質の欠如によって生じる可能性のある欠陥。
  • 最大限の自動化: テスト フレームワークの使用は、テスト環境への人的リソースの関与を減らし、効率的な方法でプロセスをさらに自動化するのに役立ちます。

最も人気のある Java テスト フレームワークとそのアプリケーションをリストします。

1.ジュニット

これまで見てきたように、この記事は完全に Junit テスト フレームワークに関するものであり、正確に説明すると、Junit は Java 仮想マシン上で動作するオープンソースのテスト フレームワークです。 Junit は、アプリケーションの単体テストの効率的な実行と作成に主に焦点を当てており、フレームワーク上で単体テストを検出して実行するのに役立つテスト エンジン API も確立しています。

Junit は、IntelliJ、Eclipse、VSCode などのさまざまな IDE をサポートします。また、Java コンソールから JUnit プラットフォームを起動するためのコンソール ランチャーも提供します。

アプリケーション: Junit は、Junit および回帰テストの要件を満たすために QA テスターまたは開発者によって使用されます。

2.セレン

これはブラウザ自動化のためのオープンソース テスト ツールです。 Python、Java などを使用して、Web アプリケーションの自動テスト ケースを作成するテスト スクリプトを作成するのに役立ちます。 Selenium には、さまざまなブラウザーでの自動テスト ケースの作成に役立つ Web ドライバー、グリッドなどが含まれています。

アプリケーション: Selenium は主に、開発者がクロスブラウザーのテストやブラウザーの自動化に必要とする場合に使用されます。

3.セレニティBDD

これは、高品質の受け入れテスト ケースと回帰テスト ケースの作成に役立つオープンソース フレームワークでもあります。要件は受け入れられるためのユーザー ストーリーの観点から定義されるため、JBehave を使用して自動化されます。

SerenityBDD は、テストされたプロジェクトとアプリケーションを追跡するのに役立ちます。

アプリケーション: QA テスターまたは開発者は、回帰テストと自動受け入れテスト、動作駆動型開発に SerenityBDD を使用します。

4.テストNG

これは、注釈やテストを実行するための任意のスレッド プールなど、多くの機能を備えた簡単なバージョンです。このフレームワークは多用途であり、単体テスト、機能テスト、統合、エンドツーエンド テストなどのすべてのカテゴリをカバーするように設計されています。

アプリケーション: QA テスターや開発者は、機能テスト、単体テスト、統合テスト、エンドツーエンド テストに役立つ TestNG を選択します。

5.モキト

expect run verify ライブラリを使用すると、無関係な対話を最小限に抑えることができます。すぐに使用できる、シンプルで安価なフレームワークを証明することで、選択された動作をテストすることに重点を置いています。

アプリケーション: QA テスターと開発者は Mockito を使用して、単体テストでダミー機能をテストするために使用できる複製インターフェイスを作成します。

結論

これで、「Java 単体テスト」のトピックを終了します。 Java 単体テストとは何なのか、Java のサンプル クラス ファイルを使用した単体テスト ケースの作成とともに Junit が何を意味するのかを見てきました。また、さまざまな Java テスト フレームワークとそのアプリケーションも見てきました。

以上がJava 単体テストの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
前の記事:Javaのテスト次の記事:Javaのテスト