空手道:从绝对类路径中拾取特征文件

时间:2018-07-26 19:13:50

标签: cucumber karate

我正在遵循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);
        }
    }

我被困在这里,任何帮助将不胜感激。

1 个答案:

答案 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-请说明您也尝试采取其他措施。