正如针对独立jar所记录的那样,我试图为我的功能提供args,但无法弄清楚如何使其工作。我想念什么?
我的命令行:
java -jar c:\karate\karate-0.9.1.jar -a myKey1=myValue1 TestArgs.feature
karate-config.js
function fn() {
var env = karate.env;
karate.log('karate.env system property was:', env);
if (!env) {
env = 'test';
}
var config = { // base config JSON
arg:karate.properties['myKey1']
};
return config;
}
TestArgs.feature 功能:测试参数
Scenario: print args
* print myKey1
* print arg
* print karate.properties['myKey1']
* print karate.get('myKey1')
我什么都没打印: java -jar c:\ karate \ karate-0.9.1.jar -a myKey1 = myValue1 TestArgs.feature
10:32:57.904 [main] INFO com.intuit.karate.netty.Main-空手道版本:0.9.1
10:32:58.012 [main] INFO com.intuit.karate.Runner-空手道版本:0.9.1
10:32:58.470 [ForkJoinPool-1-worker-1]信息com.intuit.karate-karate.env系统属性为:空
10:32:58.489 [ForkJoinPool-1-worker-1] INFO com.intuit.karate-[打印]
10:32:58.491 [ForkJoinPool-1-worker-1] INFO com.intuit.karate-[打印]
10:32:58.495 [ForkJoinPool-1-worker-1]信息com.intuit.karate-[打印]
10:32:58.501 [ForkJoinPool-1-worker-1] INFO com.intuit.karate-[打印]
答案 0 :(得分:0)
实际上,我们打算删除文档,抱歉,因为不再支持-a / --args
选项。
您当然可以使用karate.properties['some.key']
方法从命令行解压缩值。另请参阅如何获取环境变量:https://github.com/intuit/karate/issues/547
我的建议是,如果需要,您可以使用karate-config-<env>.js
从文件中读取一堆变量。例如,鉴于此功能:
Feature:
Scenario:
* print myKey
这个文件karate-config-dev.js
:
function() { return { myKey: 'hello' } }
您可以运行以下命令,该命令将自动加载config js文件:
java -jar karate.jar -e dev test.feature
我们将更新文档。感谢您抓住这一点。