You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在IntelliJ IDEA/Maven中筛选Kotest测试:仅运行*Test用例

Kotest条件评估:Maven与IntelliJ中筛选Test排除IT测试的实现

Maven 实现方式

命令行临时执行

直接在Maven命令中通过系统属性传递Kotest的类名过滤规则,精准匹配后缀:

mvn test -Dkotest.filter.classes.include=.*Test$ -Dkotest.filter.classes.exclude=.*IT$
  • kotest.filter.classes.include:正则匹配类名以Test结尾的测试类
  • kotest.filter.classes.exclude:排除类名以IT结尾的集成测试类

持久化配置到pom.xml

如果需要固定规则,避免每次输入命令行参数,可在maven-surefire-plugin中配置系统属性:

<build>
  <plugins>
    <plugin>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-surefire-plugin</artifactId>
      <version>3.2.2</version>
      <configuration>
        <systemPropertyVariables>
          <kotest.filter.classes.include>.*Test$</kotest.filter.classes.include>
          <kotest.filter.classes.exclude>.*IT$</kotest.filter.classes.exclude>
        </systemPropertyVariables>
      </configuration>
    </plugin>
  </plugins>
</build>

配置完成后,执行mvn test就会自动应用过滤规则。若需临时运行集成测试,可通过命令行覆盖参数:

mvn test -Dkotest.filter.classes.include=.*IT$ -Dkotest.filter.classes.exclude=.*Test$

IntelliJ IDEA 实现方式

方式1:通过VM参数指定类名过滤

  1. 打开Run/Debug Configurations(右上角运行按钮下拉菜单 → Edit Configurations)
  2. 选择或创建Kotest运行配置(若新建,需指定测试范围:类/包/模块)
  3. 在VM options输入框中添加:
-Dkotest.filter.classes.include=.*Test$ -Dkotest.filter.classes.exclude=.*IT$
  1. 保存配置后运行,即可仅执行*Test后缀的测试类。

方式2:标签化测试+条件评估(更灵活)

如果已给测试类打标签(比如@Tag("unit")标注Test类,@Tag("integration")标注IT类),可通过标签过滤:

  • 方法A:在VM options中设置标签规则:
-Dkotest.tags.include=unit -Dkotest.tags.exclude=integration
  • 方法B:直接在Kotest配置的Tags字段中输入+unit -integration(+表示包含,-表示排除),无需编写VM参数,更直观。

注意:确保IntelliJ已安装并启用Kotest官方插件,否则可能无法识别这些条件评估参数。

内容的提问来源于stack exchange,提问作者Oresztesz

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 03:05:19