Skip to content

Latest commit

 

History

History
103 lines (76 loc) · 3.63 KB

170.md

File metadata and controls

103 lines (76 loc) · 3.63 KB

JUnit5 假设示例

原文: https://howtodoinjava.com/junit5/junit-5-assumptions-examples/

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

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

第三个方法assumeThat()处于Experimental状态并且可能在未来得到确认。

Table of Contents

Assumptions.assumeTrue()
Assumptions.assumeFalse()

JUnit5 的Assumptions.assumeTrue()

assumeTrue()验证给定的假设为true,如果假设为true,则进行测试,否则测试执行将中止。

它具有以下重载方法。

public static void assumeTrue(boolean assumption) throws TestAbortedException
public static void assumeTrue(boolean assumption, Supplier<String> messageSupplier) throws TestAbortedException
public static void assumeTrue(boolean assumption, String message) throws TestAbortedException

public static void assumeTrue(BooleanSupplier assumptionSupplier) throws TestAbortedException
public static void assumeTrue(BooleanSupplier assumptionSupplier, String message) throws TestAbortedException
public static void assumeTrue(BooleanSupplier assumptionSupplier, Supplier<String> messageSupplier) throws 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 :: ";
	}
}

JUnit5 的Assumptions.assumeFalse()

assumeFalse()会验证给定的假设是否为假,如果假设为假,则执行测试,否则测试执行将中止。 它的工作与assumeTrue()相反。

它具有以下重载方法。

public static void assumeFalse(boolean assumption) throws TestAbortedException
public static void assumeFalse(boolean assumption, Supplier<String> messageSupplier) throws TestAbortedException
public static void assumeFalse(boolean assumption, String message) throws TestAbortedException

public static void assumeFalse(BooleanSupplier assumptionSupplier) throws TestAbortedException
public static void assumeFalse(BooleanSupplier assumptionSupplier, String message) throws TestAbortedException
public static void assumeFalse(BooleanSupplier assumptionSupplier, Supplier<String> messageSupplier) throws 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 :: ";
	}
}

将我的问题放在评论部分。

学习愉快!