我需要在哪里设置karate.config.dir才能在多个环境中运行我的测试

问题描述 投票:1回答:1

我当前的配置文件看起来像这样:

function() {

  var env = karate.env;
  karate.log('karate.env system property was:', env);
  karate.configure('ssl', true);

  if (!env) {
      env = 'dev';
  }

  var config = {
      env: env,
      internalGateway: 'https://gateway.com.au',
      externalGateway: 'https://gateway.com.au',
      GatewayManagerURL: 'https://manager.com.au'
  }

  if (env == 'dev') {

  } 
  else if (env == 'e2e') {

  }

  return config;

}

这是我对环境的唯一文件。我不确定如何在多个环境中运行我的测试。

我是否需要创建一个新的karate.config.<env>.js文件(根据文档)在新环境中运行我的测试?

dsl karate
1个回答
0
投票

您只需要这个文件。现在返回的config JSON设置了一些默认值。您现在可以做的是为e2e设置不同的值,例如:

else if (env == 'e2e') {
  config.internalGateway = 'https://gateway-e2e.com.au';
}

当您运行测试时,您可以在命令行上切换环境。这只是设置一个Java System Property。还有很多其他方法可以做到这一点:

mvn test -DargLine="-Dkarate.env=e2e"

所有这些都在这里解释:https://github.com/intuit/karate#switching-the-environment

© www.soinside.com 2019 - 2024. All rights reserved.