使用类别注释在 IntelliJ 中运行 JUnit 测试

Dee*_*pak 4 java junit intellij-idea

我正在尝试使用 IntelliJ@FastTests在模块中使用注释运行所有测试。我可以使用JUnit带有测试类型All In Package和相关包名称的配置运行模块中的所有测试。

当我尝试通过选择Category测试类型 JUnit 配置来运行单个类别并选择Search For Tests: Across Module DependenciesSearch for Tests: In Single module我得到No Tests were found

有没有办法在 intellij 中运行带有单个类别注释的 JUnit 测试?

干杯

Nic*_*lau 5

这对我使用 Intellij IDEA 2018.1 有效:

在此处输入图片说明

类别标记定义为接口:

public interface FastTests { /* category marker */ }
Run Code Online (Sandbox Code Playgroud)

和测试类或方法注释如下:

import cu.nicolau.sircap.nomencladores.FastTests;
import org.junit.Test;
import org.junit.experimental.categories.Category;

public class NomencladorServiceImplTest {    
    @Test
    @Category(FastTests.class)
    public void categoryTest() {
        ...
    }    
}
Run Code Online (Sandbox Code Playgroud)

JUnit 5 中@Category注释被更灵活的@Tag注释所取代。

如果您考虑迁移到 JUnit 5,这个博客可能是一个很好的起点。此外,thisthis answer 可以向您展示如何使用 Intellij IDEA 或 Maven 根据标签过滤测试执行。