JUNIT ASSERTNULL示例

时间:2020-02-23 14:41:31  来源:igfitidea点击:

JUNIT 5的org.junit.jupiter.Assertions类提供了不同的静态断言方法来编写测试用例。

请注意,在JUnit 4或者JUnit 3的情况下,我们需要使用JUnit的org.junit.assert类来使用Assertnull方法来声明。

断言.Assertnull()检查对象为null。
如果,对象不是null,它将通过asserterror。

public static void assertNull(Object actual)
public static void assertNull(Object actual, String message)
public static void assertNull(Object actual, Supplier messageSupplier)

这是一个简单的例子

package org.igi.theitroad;
 
import java.util.HashMap;
import java.util.Map;
 
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
 
public class AssertNullTest {
 
	AssertNullTest ant;
	
    public String getCapital(String country){
        Map<String,String> countryCapitalMap = new HashMap<String,String>();
        countryCapitalMap.put("Italy", "Rome");
        countryCapitalMap.put("Japan", "Tokyo");
        countryCapitalMap.put("Zimbabwe", "Harare");
        countryCapitalMap.put("Belgiaum", "Brussels");
        return countryCapitalMap.get(country);
    }
     
    @BeforeEach
	public void beforeEachTest()
	{
    	ant = new AssertNullTest();
	}
    /*
     * Examples for each overloaded methods of assertNull
     */
    
    //public static void assertNull(Object actual)
    @Test
    public void testNetherlands(){
    	String capitalNetherlands=ant.getCapital("Netherlands");
    	Assertions.assertNull(capitalNetherlands);
    }
    
    //public static void assertNull(Object actual, String message)
    @Test
    public void testUSA(){
    	String capitalUSA=ant.getCapital("USA");
    	//You can pass message as well
    	Assertions.assertNull(capitalUSA,"Capital should be null");
    }
    
    //public static void assertNull(Object actual, Supplier messageSupplier)
    @Test
    public void testJapan(){
    	String capitalJapan=ant.getCapital("Japan");
    	Assertions.assertNull(capitalJapan,() -> "Capital should be null");
    }
}

运行上面的TestCase时,我们将得到以下输出:

TestNetherlands - Pass

由于CountryCapitalMap不包含"Netherlands"的关键,AssertNull将返回True,并且此测试用品将通过。

testusa - 通过

由于CountryCapitalMap不包含"USA"关键,AssertNull将返回True,此测试用品将通过。

testjapan - 失败

正如CountryCapitalMap包含关键"日本",AssertNull将返回False,此测试用例将失败。