我正在遵循DemoTestSelected.java示例在空手道框架中运行功能文件。当我在intellij中运行它们时,它工作正常。但是,当我将其转换为jar并从中运行时,它会抛出以下错误。
java.lang.RuntimeException:java.io.FileNotFoundException:file:\ C:\ Src_path \ target \ app-jar-with-dependencies.jar!\ features \ app \ app_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);
}
}
我被困在这里,任何帮助将不胜感激。
答案 0 :(得分:0)
首先-没有人报告过此问题,团队通常不需要将测试捆绑到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-请说明您也尝试采取其他措施。