国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

ホームページ Java &#&はじめる ホワイトボックス テスト フレームワーク (JUnit) の使用

ホワイトボックス テスト フレームワーク (JUnit) の使用

Nov 29, 2021 am 09:33 AM
junit

Junit フレームワーク:

Junit は、オープンソースの Java 単體テスト フレームワークです。

今日は、junit5 を紹介します。junit5 は、Junit Platform、Junit Jupiter、および Junit Vintage を含む 3 つの異なるサブプロジェクト モジュールで構(gòu)成されています。 Java 8以降に対応しています ここで使用するエディタはIntelliJ IDEAです 最終結(jié)果を確認(rèn)するだけで、プロジェクト全體のメソッドインターフェースがスムーズかどうかが分かります。各単體テスト ケースは比較的獨(dú)立しており、Junit によって開始され、自動(dòng)的に呼び出されます。追加の呼び出しステートメントを追加する必要はありません。

テスト メソッドを追加、削除、ブロックしても、他のテスト メソッドには影響しません。

Junit は主にホワイト ボックス テストに使用されます。ホワイト ボックス テストの手順は次のとおりです:

1. テスト計(jì)畫段階: テスト スケジュールを作成します。要求仕様。

2. テスト設(shè)計(jì)段階: コードの機(jī)能に応じて、基本的な機(jī)能テスト用のテスト ケースを手動(dòng)で設(shè)計(jì)します。プログラミング命令に従って、ソフトウェア構(gòu)造は分割され、特定の標(biāo)準(zhǔn)化された方法に従ってテスト ケースが設(shè)計(jì)されます。

3. テスト実行フェーズ: テスト ケースを入力し、テスト結(jié)果を取得します。

4. テスト概要ステージ: テスト結(jié)果をコードの予想結(jié)果と比較し、エラーの原因を分析し、エラーを見つけて解決します。

次に、內(nèi)部のアノテーションを紹介します。

@Test: 屬性を宣言せずにテスト メソッドを表します。

@ParameterizedTest: メソッドがテスト メソッドであることを示します。さらに、このアノテーションを使用すると、テスト メソッドを別の人を使用して複數(shù)回実行することもできます。

@RepeatedTest: このアノテーションを使用すると、テスト メソッドで繰り返し実行の回?cái)?shù)をカスタマイズできます。

@TestFactory: メソッドがデータ駆動(dòng)型の動(dòng)的テスト データ ソースに基づいていることを示します。

@Displayname: テスト クラスまたはテスト メソッドのカスタム表示名を宣言します。

@BeforeEach: 各テスト メソッドが実行される前に、指定されたメソッドが実行されることを示します。

@AfterEach: 各テスト メソッドの実行後に、指定されたメソッドが実行されることを示します。

@BeforeAll: 現(xiàn)在のクラスのすべてのテスト メソッドの前に実行され、このメソッドには初期化コードが含まれる場(chǎng)合があります。

@AfterAll: 現(xiàn)在のクラスのすべてのテスト メソッドの後に実行されます。

@Disabled: テスト クラスまたはメソッドが無効であることを示します。

アサーション:

失敗: アサーション テストが失敗しました。

AssertTrue/asserFalse: true または false をアサートします。

AssertNull/assertNotNull: Assert が null であるか、null ではありません。

assertEquals/assertNotEquals: 2 つの値が等しくないことをアサートします。

AssertArrayEquals: すべての配列要素が同じであることをアサートします。

AssertSame/assertNotSame: 2 つのオブジェクトが同じかどうかをアサートします。

AssertThrows/assertDoesNotThrow: 例外がスローされたかどうかをアサートします。

AssertAll: 複數(shù)の條件が満たされていることをアサートします;

次に、クラスを作成し、いくつかのメソッドを作成します:

package test;//包機(jī)制
import java.lang.reflect.Array;
public class MixedOperation {
    public int mixeOperation(int x,int y){
        return division((x+y),y);
    }
    public int division(int x,int y){
        int result=(x/y);
        return result;
    }
    public static void main(String[] args) {
      MixedOperation mixedOperation=new MixedOperation();
      System.out.println(mixedOperation.mixeOperation(5,1));
    }
}

MixedOperation という名前のクラスを作成します;

package test;
import org.junit.jupiter.api.*;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.CsvSource;
public class MixedOperationTest {
    private MixedOperation mixedOperation;
    @BeforeEach
    public void init(){
      mixedOperation=new MixedOperation();
    }
    @Test
    public void successTest(){
        System.out.println("run a test:x=4,y=2");
        int result=mixedOperation.mixeOperation(4,2);
        Assertions.assertEquals(3,result);
    }
   /* @DisplayName("失敗")
    public void errorTest(){`
        System.out.println("run a test:x=4,y=0");
        ArithmeticException exception=new ArithmeticException(
                ArithmeticException.class -> {
            mixedOperation.mixeOperation(4, 0);
        }
        );
    }*/
    @Disabled("參數(shù)")
    @Test
    @DisplayName("參數(shù)")
    @ParameterizedTest
    @CsvSource({"6,3,3","5,2,3","6,2,4"})
    public void caTest(int x,int y,int excepted){
        System.out.println("run a test :x="+x+"y="+y);
        System.out.println(excepted);
        int t= mixedOperation.mixeOperation(x,y);
        Assertions.assertEquals(excepted,t);
    }
    @Disabled
    @Test
    public void  Next(){
       System.out.println("拋出一個(gè)異常");
       System.out.println(Assertions.assertThrows(IllegalArgumentException.class, () ->mixedOperation.mixeOperation(2,0)));
    }
    @Disabled
    @Test
    void error(){
        Assertions.assertThrows(Exception.class,()->{Assertions.assertEquals(1,0);});
    }
    @Test
    void sure(){
        int result=mixedOperation.mixeOperation(4,2);
        Assertions.assertTrue(3==result);//斷言相等
    }
}

これは、MixedOperationTest という名前で作成したテスト クラスです。

関連する推奨事項(xiàng): 「java ビデオ チュートリアル

以上がホワイトボックス テスト フレームワーク (JUnit) の使用の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

このウェブサイトの聲明
この記事の內(nèi)容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰屬します。このサイトは、それに相當(dāng)する法的責(zé)任を負(fù)いません。盜作または侵害の疑いのあるコンテンツを見つけた場(chǎng)合は、admin@php.cn までご連絡(luò)ください。

ホットAIツール

Undress AI Tool

Undress AI Tool

脫衣畫像を無料で

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

寫真から衣服を削除するオンライン AI ツール。

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡(jiǎn)単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中國語版

SublimeText3 中國語版

中國語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

JUnit 単體テスト フレームワーク: それを使用する利點(diǎn)と制限事項(xiàng) JUnit 単體テスト フレームワーク: それを使用する利點(diǎn)と制限事項(xiàng) Apr 18, 2024 pm 09:18 PM

JUnit 単體テスト フレームワークは広く使用されているツールであり、その主な利點(diǎn)には、自動(dòng)テスト、高速フィードバック、コード品質(zhì)の向上、移植性などがあります。ただし、範(fàn)囲の制限、メンテナンスコスト、依存関係、メモリ消費(fèi)、継続的統(tǒng)合サポートの欠如などの制限もあります。 Java アプリケーションの単體テストにとって、JUnit は多くの利點(diǎn)を提供する強(qiáng)力なフレームワークですが、使用する場(chǎng)合はその制限を考慮する必要があります。

JUnit フレームワークのテスト メソッドにアノテーションはどのように使用されますか? JUnit フレームワークのテスト メソッドにアノテーションはどのように使用されますか? May 06, 2024 pm 05:33 PM

JUnit フレームワークのアノテーションは、テスト メソッドの宣言と構(gòu)成に使用されます。主なアノテーションには、@Test (テスト メソッドの宣言)、@Before (テスト メソッドの実行前に実行されるメソッド)、@After (テスト メソッドの後に実行されるメソッド) があります。が実行される)、@ BeforeClass (すべてのテスト メソッドが実行される前に実行されるメソッド)、@AfterClass (すべてのテスト メソッドが実行された後に実行されるメソッド)、これらのアノテーションは、テスト コードを整理して簡(jiǎn)素化し、テスト コードの信頼性を向上させるのに役立ちます。明確な意図と構(gòu)成を提供することで、読みやすさと保守性を向上させます。

JUnit 単體テスト フレームワーク: 初心者向けチュートリアル JUnit 単體テスト フレームワーク: 初心者向けチュートリアル Apr 18, 2024 pm 01:51 PM

JUnit は、アプリケーション コンポーネントをテストするための簡(jiǎn)潔なツールを提供する Java の単體テスト フレームワークです。依存関係をインストールした後、@Test アノテーションを含む単體テスト クラスを作成してクラスをテストし、assertEquals などのアサーション メソッドを使用して期待値と実際の値を検証できます。 JUnit は、準(zhǔn)備メソッド、失敗メッセージ、タイムアウト メカニズムなどの多くの機(jī)能を提供します。

マルチスレッド環(huán)境での JUnit 単體テスト フレームワークの使用 マルチスレッド環(huán)境での JUnit 単體テスト フレームワークの使用 Apr 18, 2024 pm 03:12 PM

マルチスレッド環(huán)境で JUnit を使用する場(chǎng)合、シングルスレッド テストとマルチスレッド テストという 2 つの一般的なアプローチがあります。シングルスレッド テストは同時(shí)実行性の問題を回避するためにメイン スレッドで実行されますが、マルチスレッド テストはワーカー スレッドで実行され、共有リソースが妨げられないように同期されたテスト アプローチが必要です。一般的な使用例には、マルチスレッド環(huán)境での JUnit のアプリケーションを反映する、キーと値のペアを格納するための ConcurrentHashMap の使用や、キーと値のペアを操作してその正しさを検証するための同時(shí)スレッドなど、マルチスレッド セーフなメソッドのテストが含まれます。 。

JUnit 単體テスト フレームワーク: 一般的なメモリ リークの問題を解決するためのガイド JUnit 単體テスト フレームワーク: 一般的なメモリ リークの問題を解決するためのガイド Apr 18, 2024 pm 04:51 PM

JUnit 単體テスト フレームワークは、一般的なメモリ リークの問題を効果的に解決できます。一般的なリークの問題には、永続的な靜的変數(shù)參照や閉じられていないリソースが含まれます。 JUnit は、リーク検出器とメモリ使用量を分析してリークの原因を特定するツールを提供します。解決策には、ローカル変數(shù)の使用、弱い參照、リソースを正しく閉じること、try-with-resources ステートメントの使用が含まれます。これらのガイドラインに従うことで、開発者は信頼性が高く安定した JUnit テスト環(huán)境を作成できます。

Spring プロジェクトでの JUnit 単體テスト フレームワークの適用 Spring プロジェクトでの JUnit 単體テスト フレームワークの適用 Apr 18, 2024 pm 04:54 PM

JUnit は Spring プロジェクトで広く使用されている Java 単體テスト フレームワークであり、次の手順で適用できます。 JUnit 依存関係を追加します。 org.junit.jupiterjunit-jupiter5.8.1test テスト ケースを作成します。 @ExtendWith(SpringExtension.class) を使用して拡張機(jī)能を有効にします。 @Autowired を使用して Bean を注入し、@BeforeEach と @AfterEach を使用して準(zhǔn)備とクリーンアップを行い、テスト メソッドを @Test でマークします。

Java の JUnit 単體テスト フレームワークのベスト プラクティスは何ですか? Java の JUnit 単體テスト フレームワークのベスト プラクティスは何ですか? Apr 18, 2024 pm 09:03 PM

JUnit 単體テスト フレームワークのベスト プラクティスに従うと、効果的なコード検証が可能になります。 獨(dú)立したテストを作成する 適切な場(chǎng)所にテストを配置する アサーションを使用して結(jié)果を賢明に検証する 命名規(guī)則に従う (テストから始める) ネガティブ テストを作成する モッキングとスタブを使用して依存関係を分離する 靜的使用を避ける重複したコードを削除し、テストの実行を自動(dòng)化するための変數(shù)

JUnit 単體テスト フレームワーク: デバッグ モードでテスト ケースを?qū)g行するためのヒント JUnit 単體テスト フレームワーク: デバッグ モードでテスト ケースを?qū)g行するためのヒント Apr 18, 2024 pm 03:54 PM

JUnit では、@RunWith アノテーションを使用して BlockJUnit4ClassRunner ランナーを関連付けることにより、デバッグ モードでテスト ケースを?qū)g行できます。ブレークポイントを設(shè)定して実行を一時(shí)停止し、変數(shù)を調(diào)べます。 System.out.println() を使用して、コードの実行を追跡するための情報(bào)を出力します。 JUnitAssert アサーション メソッドを使用して、期待値と実際の値を確認(rèn)します。

See all articles