IDEAはSpringBootを統合してユニットテストを自動的に生成し、開発をアサートします

1. IDEA生成ユニットテストプロセス

テストが必要なインターフェースファイルを右クリックします->移動->テストサブジェクト->テストの作成

 

 

 次に、テストする必要のあるメソッドを確認します-> ok、同じレベルのパッケージにテストファイルを作成し、テストロジックを追加します。

import net.xdclass.xdvidio.domain.Video;
import net.xdclass.xdvidio.mapper.VideoMapper;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner; 

import javax.swing。* ; 

import java.util.List; 

静的な org.junit.Assert。*をインポートし ます

/ ** 
 * @Author Pandas 
 * @Date 2020/4/12 22:54 
 * @Version 1.0 
 * @Description断言测试
 * / 
@RunWith(SpringRunner。クラス
@SpringBootTest 
パブリック クラスVideoServiceTest { 

    @Autowired 
    プライベートVideoService videoService。

    @Test 
    public  void findAll(){ 
        List <Video> list = videoService.findAll(); 
        assertNotNull(list); // 断言
        for (Video video:list){ 
            System.out.println(video.getTitle()); 
        } 
    } 

    @Test 
    public  void findById(){ 
        Video video = videoService.findById(1);
        assertNotNull(ビデオ); 
    } 

    @Test 
    公共 ボイド更新(){ 
    } 

    @Test 
    公共 ボイド(削除){ 
    } 

    @Test 
    公共 ボイド保存(){ 
    } 
}

2.コアノート:

テストクラスに次の2つのアノテーションを追加する必要があります

@RunWith(SpringRunner。クラスで実行されているどのようなJavaランタイム環境をあなたに伝えることによって)//このクラス
@SpringBootTest

3.アサーション開発

 アサーションキーワード:

主張する

、jdk1.4の後に追加された新機能です。

これは主に、コードの開発およびテスト中に特定のキーデータを判断するために使用されます。このキーデータがプログラムで想定されていない場合、プログラムは警告を発行するか、終了します。

文法規則:

assert expression;   // expressionはブール式を表し、trueの場合は通常どおりに実行され、falseの場合はプログラムが終了します
assert expression1:expression2; // expression1はブール式、expression2は基本タイプまたはオブジェクトタイプです。expression1がtrueの場合、プログラムはexpression2を無視して実行を継続します。expression1がfalseの場合は、expression2を実行してからプログラムを終了します。

org.junitパッケージのAssertクラスは、記事のメソッドなど、一般的に使用されるいくつかのassertメソッドを提供します。

assertNotNull(video); // オブジェクトが空でない場合は正常です;空の場合は異常であり、アサーションは失敗します

そのソースコードの実装:

    static  public  void assertNotNull(Object object){ 
        assertNotNull(null 、object); 
    } 

    static  public  void assertNotNull(String message、Object object){ 
        assertTrue(message、object!= null ); 
    } 

    static  public  void assertTrue(String message、boolean condition){
         if(!condition){ 
            fail(message); 
        } 
    } 
//
      static  public  void fail(String message){
         if(メッセージ== null ){
             新しいAssertionError();をスローし ます。
        } 新しいAssertionError(message);をスローします。
    } public AssertionError(Object detailMessage){
         this (String.valueOf(detailMessage));
        if(detailMessage instanceof Throwable)
            initCause((Throwable)detailMessage); 
    }
         

    

assertNotNull 基本的にいるassertTrue 二次包装、およびいるassertTrue と実際には、メッセージ場合ステートメント

ソースコードは良いことです。もっと見て、もっと考えてください。多くの方法は、何度もパッケージ化されているロシアの人形です。

 

 

おすすめ

転載: www.cnblogs.com/jwmdlm/p/12688885.html