Karate DSL 1.5.0.RC3读取JSON文件报错:文件未找到求助
解决Karate DSL中myData.json文件未找到的问题
问题原因
你的特性文件和myData.json处于同一目录src/test/resources/subdirectory/,但读取路径的写法不符合Karate的classpath规则或相对路径逻辑,导致文件无法被定位。
解决方法
方法1:使用相对路径读取(推荐)
Karate默认会相对于当前特性文件的位置查找资源,直接去掉classpath:前缀和多余路径,修改Background中的代码:
* def req = read('myData.json')
方法2:修正Classpath路径
src/test/resources是Java项目默认的classpath根目录,classpath路径需从该根目录开始编写,修改为:
* def req = read('classpath:subdirectory/myData.json')
方法3:调整命令行的Classpath配置(不推荐,较繁琐)
如果坚持保留原读取路径,运行时需要将src/test/resources加入classpath,命令改为:
# Windows系统 java -cp "karate.jar;src/test/resources" com.intuit.karate.Main src/test/resources/subdirectory/myfile.feature # Linux/macOS系统 java -cp "karate.jar:src/test/resources" com.intuit.karate.Main src/test/resources/subdirectory/myfile.feature
内容的提问来源于stack exchange,提问作者NPGK
相关产品推荐
相关产品推荐

