JUnitのFailureとError

1402 ワード

Failureとは、例えば、assertEquals()または他のassertXXX()メソッドを使用して失敗を断言すると、Failureが報告され、Faulureが発見された場合は、テストメソッドまたは被テストメソッドで作成されたロジックに誤りがあるかどうかを確認することです.
Errorとは,プログラム作成時に考慮されなかった問題を指す.テストの断言を実行する前に、プログラムは何らかのタイプの事故で停止します.例えば、私たちが配列を操作している間に、インデックスを超えたアクセスがArrayIndexOutOfBoundsExceptionを引き起こすため、このときプログラムはErrorを報告し、プログラムは実行できなくなり、早めに終了します.このとき、被テスト方法に欠陥があるかどうかをチェックします.
テスト例は次のとおりです.
package com.reiyen.junit;

import static org.junit.Assert.*;
import org.junit.BeforeClass;
import org.junit.Test;

public class TestErrorFailure {

	@BeforeClass
	public static void setUpBeforeClass() throws Exception {
	}

	@Test
	public void errorTest(){
		int [] arr={1,2,3};
		System.out.println(" error:"+arr[4]);
                assertEquals(3, arr[0]);
	}
	
	@Test
	public void failureTest(){
		int [] arr={1,2,3};
		assertEquals(3, arr[0]);
	}
}

errorTestテストメソッドを実行すると、テスト結果は次のようになります.
java.lang.ArrayIndexOutOfBoundsException: 4     at com.reiyen.junit.TestErrorFailure.errorTest(TestErrorFailure.java:16)
failureTest試験方法を実行する場合、試験結果は以下の通りである:java.lang.AssertionError: expected:<3> but was:<1>     at org.junit.Assert.fail(Assert.java:71)failureTestは,断言を実行する際に予想値と実際の値が異なるerrorTestが断言を実行する前から予想できなかったことが起こり,断言を実行できない部分があった.