我仅使用最新的独立空手道jar来在配置了JRE的docker映像上测试我的API,而且我没有任何Java代码。
这是我当前使用的新版本:
09:30:37.333 [main] INFO com.intuit.karate.netty.Main-空手道 版本:0.9.1 09:30:37.489 [main] INFO com.intuit.karate.Runner- 空手道版本:0.9.1 09:30:38.067 [ForkJoinPool-1-worker-1]警告 com.intuit.karate-跳过引导程序配置:找不到 或读取文件:file:xxx / yyy / zzz /./ karate-config.js
在这里我们可以看到它找不到我的karate-config.js文件
这是v0.9.0的功能:
09:48:35.829 [main] INFO com.intuit.karate.netty.Main-空手道 版本:0.9.0 09:48:35.971 [main] INFO com.intuit.karate.Runner- 空手道版本:0.9.0 09:48:36.559 [ForkJoinPool-1-worker-1]信息 com.intuit.karate-karate.env选择的环境为:preprod
在这里我们可以看到它找到了我的karate-config.js文件
在0.9.1上有什么变化吗?
谢谢。
答案 0 :(得分:2)
是的,有一些更改:(-我们已经尝试了一段时间来解决此文件解析问题。如果您能帮助我们重现此问题,那就太好了。由于您不使用Java,可以创建一个zip文件吗?可以复制此问题的目录结构。
作为解决方法,请尝试根据文档将位置设置为配置文件:
-Dkarate.config.dir=xxx/yyy/zzz
编辑-这是固定的,您需要从此处重新下载二进制文件(相同版本):https://github.com/intuit/karate/releases/tag/v0.9.1
答案 1 :(得分:2)
好的,它可以与
一起使用-Dkarate.config.dir = xxx / yyy / zzz
但仅在这种情况下:
-Dkarate.config.dir =“ ./”
我已在简化的环境中重现该错误,您可以下载此文件: Karate-Test Zip File
您只需要执行另一个.sh并查看发生了什么情况。
在文件karate-0.9.1 / karate-0.9.1.sh上,您必须阅读注释,它适用于特定情况,而不适用于其他情况。
编辑: 另一件事,
即使在0.9.0版本的情况下,当我不在同一目录中时也不起作用 比脚本执行期间的脚本
例如,如果我不在同一目录中,则此命令不起作用:
./ karate-0.9.0 / karate-0.9.0.sh
13:01:25.764 [main] INFO com.intuit.karate.netty.Main-空手道 版本:0.9.0 13:01:25.830 [main] INFO com.intuit.karate.Runner- 空手道版本:0.9.0 13:01:26.402 [ForkJoinPool-1-worker-1]警告 com.intuit.karate-跳过引导程序配置:找不到 或读取文件:classpath:karate-config.js
这是如果我在同一目录中:
./ karate-0.9.0.sh 13:03:54.831 [main] INFO com.intuit.karate.netty.Main-空手道版本:0.9.0 13:03:54.905 [main] INFO com.intuit.karate.Runner-空手道版本:0.9.0 13:03:55.421 [ForkJoinPool-1-worker-1] INFO com.intuit.karate- 选择的baseUrl是:https://petstore.swagger.io