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 と実際には、メッセージの場合ステートメント。。。
ソースコードは良いことです。もっと見て、もっと考えてください。多くの方法は、何度もパッケージ化されているロシアの人形です。