首页 > 解决方案 > IntelliJ 2018.3 中未显示“标签(JUnit 5)”选项

问题描述

我在 Maven 项目中使用 JUnit 5.1.0。我有 IntelliJ IDEA 2018.3.2(社区版)。我想使用 @Tag 注释来描述我的测试并能够通过这些进行过滤。

关键是在编辑配置 | 配置 | 测试种类没有我在许多示例中看​​到的“标签(JUnit 5)”选项。仅提供“标签”选项。

当我使用提到的选项时,我将字段标记表达式设置为“慢”(不带引号)(我已经标记了一个测试,如 @Tag("slow"))。

关键是没有找到测试(测试用@Test标记)。

@Test
@Tag("slow")
public void testNotBlank() {
  // Given
  String excectedText = "";
  // When
  String text = Checks.notBlank(excectedText, "error");
  // Then
  assertEquals("", Checks.notBlank(text, "error"));
}

pom 依赖

<dependency>
  <groupId>org.junit.jupiter</groupId>
  <artifactId>junit-jupiter-engine</artifactId>
  <version>5.1.0</version>
  <scope>test</scope>
</dependency>

首先,我希望有“标签(JUnit 5)”选项,但我没有。然后,我希望选择“标签”并给出表达式“慢”,测试 testNotBlank 将被执行。

标签: javaintellij-ideajunit5

解决方案


您可以使用以下测试配置执行标记测试:

在此处输入图像描述

这可以使用以下步骤创建:

  1. 运行/调试配置 > 添加新配置 > Junit
  2. 选择测试类型Tags和不同的配置,以了解您希望如何执行。例如,我正在执行 N 次标记为“快速”的测试。

测试类包括:

public class TaggedTests {

    @Test
    @Tag(value = "slow")
    public void sample() {
        System.out.println("slow-test");
    }


    @Test
    @Tag(value = "fast")
    public void fastSample() {
        System.out.println("fast-test");
    }
}

和执行输出:

fast-test 
fast-test... 10 times

推荐阅读