Как настроить и использовать / переключаться между конфигурационными средами с помощью каратэ - PullRequest
1 голос
/ 18 октября 2019

Я пытаюсь настроить различные цели тестирования с помощью karate-config-<env>.js файлов, расположенных в одном каталоге.

Когда я пытаюсь выполнить тесты для разных целевых систем:

mvn test -Dkarate.env=int02 (tried: -DargLine="-Dkarate.env=int02")

файл karate-config-int02.js не выполняется, и выполнение теста где-то застревает.

Я прочитал документацию , но пока не нашел рабочего примера.

Я работаю с каратэ 0.9.4 в macOS с Java 1.8 в проекте-примере maven 3.6.0 для углубленного понимания концепции.

Расширение файла pom, как показано ниже, также было не работает:

<properties> 
<karate.env>int02</karate.env>
</properties>

Я думал, что с помощью -Dkarate.env=int02 я смогу убедиться, что karate-config-int02.js будет использоваться для настройки нужных мне свойств экземпляра.

У меня есть строка в обоих файлах конфигурации каратэ, например:

karate.log('karate-config|karate-config-int02 is called')

, но я всегда вижу:

karate-config is called

1 Ответ

0 голосов
/ 18 октября 2019

Самый простой способ и то, как это делают 90% проектов, это только одна karate-config.js, а затем некоторая if else логика JS согласно документам. Может быть, вы можете придерживаться этого.

var env = karate.env || 'dev';
var config = { someUrlBase: 'https://localhost:8080/' };
if (env == 'stage') {
  // over-ride only those that need to be
  config.someUrlBase = 'https://stage-host/v1/auth';
} else if (env == 'e2e') {
  config.someUrlBase = 'https://e2e-host/v1/auth';
}
return config;

Иначе, пожалуйста, следуйте этому процессу, чтобы мы могли выяснить, что может быть не так: https://github.com/intuit/karate/wiki/How-to-Submit-an-Issue

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...