JUnit 5假设示例

JUnit 5 Assumptions类提供了静态方法来支持基于假设的条件测试执行。假设失败会导致测试中止。假设通常使用时,它没有任何意义,继续给定的测试方法的执行。在测试报告中,这些测试将被标记为通过。

JUnit jupiter Assumptions类具有两个这样的方法:assumeFalse()assumeTrue()

第三种方法假设that()处于Experimental状态,可能会在以后确认。
目录

Assumptions.assumeTrue()
Assumptions.assumeFalse()

JUnit 5的Assumptions.assumeTrue()

assumeTrue() 验证给定的假设是否为真,如果假设为真–继续测试,否则测试执行将中止。

它具有以下重载方法。

公共静态无效值前提True(布尔假设)抛出TestAbortedException
公共静态无效值前提True(布尔假设,Supplier <String> messageSupplier)抛出TestAbortedException
公共静态无效值前提True(布尔假设,字符串消息)抛出TestAbortedException

公共静态无效的前提前提True(TrueBooleanBoolean Supplier)throws TestAbortedException
公共静态无效的前提前提True(BooleanSupplier假设Supplier,String消息)抛出TestAbortedException
公共静态无效的前提前提True(BooleanSupplier假设Supplier,Supplier <String> messageSupplier)抛出TestAbortedException
public class AppTest {
    @Test
    void testOnDev()
    {
        System.setProperty("ENV", "DEV");
        Assumptions.assumeTrue("DEV".equals(System.getProperty("ENV")));
        //remainder of test will proceed
    }
    
    @Test
    void testOnProd()
    {
        System.setProperty("ENV", "PROD");
        Assumptions.assumeTrue("DEV".equals(System.getProperty("ENV")), AppTest::message);
        //remainder of test will be aborted
    }
    
    private static String message () {
        return "TEST Execution Failed :: ";
    }
}

JUnit 5的Assumptions.assumeFalse()

assumeFalse()验证给定的假设为假,如果假设为假–继续测试,否则测试执行将中止。它的工作原理与之相反assumeTrue()

它具有以下重载方法。

公共静态无效的前提前提是false(布尔假设)抛出TestAbortedException
公共静态无效值前提为false(布尔假设,Supplier <String> messageSupplier)抛出TestAbortedException
公共静态无效值前提为false(布尔假设,字符串消息)抛出TestAbortedException

公共静态无效值前提为false(BooleanSupplier hypokenSupplier)抛出TestAbortedException
公共静态无效值前提为false(BooleanSupplier hypokenSupplier,String message)抛出TestAbortedException
公共静态无效假设前提是False(BooleanSupplier假设Supplier,Supplier <String> messageSupplier)抛出TestAbortedException
public class AppTest {
    @Test
    void testOnDev()
    {
        System.setProperty("ENV", "DEV");
        Assumptions.assumeFalse("DEV".equals(System.getProperty("ENV")), AppTest::message);
      //remainder of test will be aborted
    }
    
    @Test
    void testOnProd()
    {
        System.setProperty("ENV", "PROD");
        Assumptions.assumeFalse("DEV".equals(System.getProperty("ENV")));
      //remainder of test will proceed
        
    }
    
    private static String message () {
        return "TEST Execution Failed :: ";
    }
}

如果您有任何疑问,请在评论区留言,我会一一解答。

saigon has written 1440 articles

Leave a Reply