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

JUnit4迁移JUnit5:无法替换Karate与@CucumberOptions问题求助

Karate测试从JUnit4迁移到JUnit5的解决方案

关键修正步骤

  • 替换依赖:移除com.intuit.karate:karate-junit4,添加同版本的com.intuit.karate:karate-junit5依赖
  • 替换导入:把com.intuit.karate.junit4.Karate改为com.intuit.karate.junit5.Karate
  • 替换运行注解:删除@RunWith(Karate.class),使用@ExtendWith(Karate.class)替代,@CucumberOptions可继续保留使用

修正后的完整代码

import KarateTest.utils.WiremockRunner;
import com.intuit.karate.junit5.Karate;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.extension.ExtendWith;
import io.cucumber.junit.CucumberOptions;

@Disabled
@ExtendWith(Karate.class)
@CucumberOptions(
    junit = {".."},
    features = "...",
    plugin = {"..."},
    glue = {"s.."},
    tags = {"..", "...", "..","..."})
public class HT {

  private static final WiremockRunner wiremock = new WiremockRunner();

  @BeforeAll
  public static void beforeClass() throws Exception {
    wiremock.startWiremock();
    Application.main(new String[] {"--spring.profiles.active=sb-vk"});
  }

  @AfterAll
  public static void tearDown() throws Exception {
    wiremock.stopWiremock();
  }
}

可选简化方案(Karate 1.0.0+)

如果使用的是Karate 1.0.0及以上版本,可以用@KarateTest注解替代@ExtendWith和@CucumberOptions,配置更简洁:

import KarateTest.utils.WiremockRunner;
import com.intuit.karate.junit5.KarateTest;
import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Disabled;

@Disabled
@KarateTest(features = "...", tags = {"..", "...", "..","..."})
public class HT {

  private static final WiremockRunner wiremock = new WiremockRunner();

  @BeforeAll
  public static void beforeClass() throws Exception {
    wiremock.startWiremock();
    Application.main(new String[] {"--spring.profiles.active=sb-vk"});
  }

  @AfterAll
  public static void tearDown() throws Exception {
    wiremock.stopWiremock();
  }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:45:38