JUnit Asserttrue例子

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

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

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

断言.Asserttrue()检查提供的布尔条件是否为真。
如果情况,条件是假的,它将通过asserterror。

public static void assertTrue(boolean condition)
public static void assertTrue(boolean condition, Supplier messageSupplier)
public static void assertTrue(BooleanSupplier booleanSupplier)
public static void assertTrue(BooleanSupplier booleanSupplier, String message)
public static void assertTrue(boolean condition,String message)
public static void assertTrue(BooleanSupplier booleanSupplier,Supplier messageSupplier)

这是一个简单的例子

package org.igi.theitroad;
 
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
 
public class AssertTrueTest {
 
    AssertTrueTest att;
    
    public boolean isPrime(int number)
    {
        for (int i = 2; i <=Math.sqrt(number); i++) {
            if(number%i==0)
                return false;
        }
        return true;
    }
    
    @BeforeEach
    public void beforeEachTest()
    {
        att = new AssertTrueTest();
    }
    
    //assertTrue(boolean condition)
    @Test
    public void primeNumberTestwithCondition(){
        Assertions.assertTrue(att.isPrime(5));
    }
    
    //assertTrue(boolean condition, String message)
    @Test
    public void primeNumberTestwithConditionAndMessage(){
        Assertions.assertTrue(att.isPrime(91),"Number is not prime");
    }
    
    //assertTrue(BooleanSupplier booleanSupplier)
    @Test
    public void primeNumberTestWithBooleanSupplier(){
        Assertions.assertTrue(() -> att.isPrime(7));
    }
    
    // assertTrue(boolean condition, Supplier<String> messageSupplier)
    @Test
    public void primeNumberTestWithConditionAndSupplier(){
        Assertions.assertTrue(att.isPrime(13),() -> "Number is not prime");
    }
    
    //assertTrue(BooleanSupplier booleanSupplier, String message)
    @Test
    public void primeNumberTestWithBooleanSupplierAndMessage(){
        Assertions.assertTrue(() -> att.isPrime(17),"Number is not prime");
    }
    
    //assertTrue(BooleanSupplier booleanSupplier, Supplier<String> messageSupplier)
    @Test
    public void primeNumberTestWithBooleanSupplierAndSupplier(){
        Assertions.assertTrue(() -> att.isPrime(89),() -> "Number is not prime");
    }
}

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

让我们了解每个测试用例的输出:

PrimenumberteStwithCondition - Pass

由于 5是素数,asserttrue将返回true,此测试用例将通过。

primenumbertestwithconditionandmessage - 失败

由于91不是素数,asserttrue将返回true,此测试用例将失败。

Primenumbertestwithbooleansupplier - 通过

由于 13是素数,asserttrue将返回true,此测试用例将通过。

primenumbertestwithconditionandsupplier - 通过

由于 5是素数,asserttrue将返回true,此测试用例将通过。

primenumbertestwithbooleansupplierandmessage - 通过

由于 17是素数,asserttrue将返回true,此测试用例将通过。

primenumbertestwithbooleansupplierandsupplier - 通过

由于 89是素数,asserttrue将返回true,此测试用例将通过。