# JUnit5 `@Disabled`测试示例

> 原文： [https://howtodoinjava.com/junit5/junit-5-disabled-test-example/](https://howtodoinjava.com/junit5/junit-5-disabled-test-example/)

JUnit [`@Disabled`](http://junit.org/junit5/docs/current/api/org/junit/jupiter/api/Disabled.html)注解可用于禁用测试套件中的测试方法。 该注解可以应用于测试类以及各个测试方法。

它仅接受**一个可选参数**，它指示此测试被禁用的原因。

## `@Disabled`的测试类

将`@Disabled`应用于测试类时，**该类中的所有测试方法也会自动禁用**。

```java
import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

@Disabled
public class AppTest {

	@Test
    void testOnDev() 
	{
		System.setProperty("ENV", "DEV");
        Assumptions.assumeFalse("DEV".equals(System.getProperty("ENV")));
    }

	@Test
    void testOnProd() 
	{
		System.setProperty("ENV", "PROD");
        Assumptions.assumeFalse("DEV".equals(System.getProperty("ENV")));
    }
}

```

![JUnit5 Disabled Annotation Over Class](img/f89d2d61b89111d2a3f783c12bf6ddb4.png)

JUnit5 类上的`@Disabled`注解



请注意运行次数：2/2（跳过 2 个）。 显然，两个测试都被禁用，因此不执行。

## JUnit5 `@Disabled`测试方法

`@Disabled`用于表示当前已禁用带注解的**测试方法，因此不应执行**。

```java
import org.junit.jupiter.api.Assumptions;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;

public class AppTest {

	@Disabled("Do not run in lower environment")
	@Test
    void testOnDev() 
	{
		System.setProperty("ENV", "DEV");
        Assumptions.assumeFalse("DEV".equals(System.getProperty("ENV")));
    }

	@Test
    void testOnProd() 
	{
		System.setProperty("ENV", "PROD");
        Assumptions.assumeFalse("DEV".equals(System.getProperty("ENV")));
    }
}

```

![JUnit5 Disabled Annotation Over Method](img/ca156a5524c6e5b84062a6eadb029648.png)

JUnit5 方法上的`@Disabled`注解



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

学习愉快！

[源码下载](https://github.com/lokeshgupta1981/Junit5Examples/tree/master/JUnit5Examples)