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

Where do i need to set karate.config.dir to run my tests in multiple environments

我当前的配置文件如下所示:

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 文件(根据文档)以 运行 我在新环境中的测试?

您只需要这一个文件。现在返回的 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