首页 > 解决方案 > 如何使用 Maven 通过空手道测试项目进行调试?

问题描述

有没有一种方法可以像使用 Maven 调试 Java 应用程序一样通过测试进行调试?例如,如果我在 step 的实现中设置断点并单击使用 CL 的下一个参数进行调试: mvn clean test -Dkarate.options="--tags ~@ignore" -Dtest=MainRunner -DforkCount=0

我收到下一个错误:

[INFO] --- maven-surefire-plugin:2.22.2:test (default-test) @ karateSberApi ---
[WARNING] useSystemClassloader setting has no effect when not forking
[INFO] Running examples.MainRunner
before all
get credentialsMap by cmd
19:27:39.169 [main] INFO  com.intuit.karate.RunnerOptions - found system property 'karate.options': --tags ~@ignore
after all
[ERROR] Tests run: 1, Failures: 0, Errors: 1, Skipped: 0, Time elapsed: 0.875 s <<< FAILURE! - in examples.MainRunner
[ERROR] testAll  Time elapsed: 0.872 s  <<< ERROR!
java.lang.NoClassDefFoundError: jdk/nashorn/api/scripting/ScriptObjectMirror
Caused by: java.lang.ClassNotFoundException: jdk.nashorn.api.scripting.ScriptObjectMirror

我尝试下一步运行,它正在工作:

public static void main(String[] args) throws ScriptException {
        ScriptEngine engine = new ScriptEngineManager().getEngineByName("nashorn");
        engine.eval("print('Hello World!');");
    }

怎么了?环境:

Intellij Idea 2019.3
Bundled (Maven 3) version 3.6.1

java version "1.8.0_201"
Java(TM) SE Runtime Environment (build 1.8.0_201-b09)
Java HotSpot(TM) 64-Bit Server VM (build 25.201-b09, mixed mode)

谢谢你的回答!

标签: maven-3karatenashorn

解决方案



推荐阅读