我正在尝试使用IntelliJ 在模块中使用注释@FastTests
运行所有测试。我可以使用带有测试类JUnit
的{{1}}配置和相关的包名称来运行模块中的所有测试。
当我尝试通过选择All In Package
测试类型JUnit配置来运行单个类别并选择Category
或Search For Tests: Across Module Dependencies
时,我得到Search for Tests: In Single module
有没有办法在intellij中使用单个类别注释运行JUnit测试?
干杯
答案 0 :(得分:3)
这对于使用Intellij IDEA 2018.1的我来说有效:
将类别标记定义为接口
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可能是一个不错的起点。此外,this和this的答案可以向您展示如何使用Intellij IDEA或Maven根据其标签过滤测试执行。