我正在按照 DemoTestSelected.java 示例在我的空手道框架中运行功能文件。当我在 intellij 中运行它们时,它工作正常。但是当我将它转换成 jar 然后运行它时,它会抛出以下错误。
java.lang.RuntimeException:java.io.FileNotFoundException:文件:\ C:\ Src_path目标pp-jar-with-dependency.jar!eatures pp pp_1.0.4_a.feature (文件名、目录名或卷标语法不正确)
我探索了空手道核心代码,发现下面的类可能有问题。
public static URL toFileUrl(String path) {
path = StringUtils.trimToEmpty(path);
File file = new File(path);
try {
return file.getAbsoluteFile().toURI().toURL();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
我被困在这里,任何帮助将不胜感激。
首先 - 没有人报告过这个问题,团队通常不需要将测试捆绑到 JAR 中。
第二 - 如果您使用
classpath:
前缀,您应该能够从 JAR 文件中加载功能文件。因此,请使用它,它记录在此处:https://github.com/intuit/karate#reading-files
* def result = call read('classpath:some-reusable-steps.feature')
如果这不能解决问题,请按照此处的说明并提交问题:https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue - 请解释您的问题也尝试做不同的事情。