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

时间:2018-04-10 12:45:10

标签: java intellij-idea junit

我正在尝试使用IntelliJ 在模块中使用注释@FastTests运行所有测试。我可以使用带有测试类JUnit的{​​{1}}配置和相关的包名称来运行模块中的所有测试。

当我尝试通过选择All In Package测试类型JUnit配置来运行单个类别并选择CategorySearch For Tests: Across Module Dependencies时,我得到Search for Tests: In Single module

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

干杯

1 个答案:

答案 0 :(得分:3)

这对于使用Intellij IDEA 2018.1的我来说有效:

enter image description here

将类别标记定义为接口

public interface FastTests { /* category marker */ }

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

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() {
        ...
    }    
}

使用JUnit 5@Category注释将替换为更灵活的@Tag注释。

如果您考虑使用migrating到JUnit 5,this blog可能是一个不错的起点。此外,thisthis的答案可以向您展示如何使用Intellij IDEA或Maven根据其标签过滤测试执行。