каратэ | Конфигурационный файл env c - PullRequest
0 голосов
/ 09 января 2020

рамки для каратэ | Я пытаюсь создать несколько файлов karate-config. js для разных env, таких как 'test', 'stage', может кто-нибудь помочь мне с примером, как я могу вызвать env Speci c значения конфигурации из другого файла конфигурации karate. Я ссылаюсь на это https://github.com/intuit/karate/blob/master/karate-demo/src/test/java/karate-config-contract.js, но не уточняю, что именно нужно сделать для вызова другой конфигурации.

1 Ответ

1 голос
/ 09 января 2020

В этой части документации по каратэ объясняется, как проверить свойство karate.env в karate-config.js для установки конфигураций и переменных в зависимости от среды.

Другой способ для архивирования различных конфигураций для каждой среды объясняется здесь: environment-Speci c -config

Все эти подходы решают проблему, настраивая разные URL, например, в ваших тестовых примерах. Следовательно, нет необходимости вызывать или проверять среду в вашем файле возможностей, чтобы получить различные значения конфигурации. Это сделано каратэ. Просто обратитесь к переменным, которые вы присвоили в karate-config.js.

Вы просто делаете что-то вроде:

Background:
* url baseUrls.userSystem

Где ваш karate-config.js может выглядеть так:

function fn() {

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

   var config = {
        baseUrls : {
             userSystem : "http://localhost"
        }

   }
   if (env === 'dev') {
        config.baseUrls.userSystem = "http://usersystem.default.svc"
   }

   return config   
}

Подход выше демонстрирует, как использовать только один karate-config.js для всех сред. Один файл для всех.

Если вы хотите создать karate-config-<env>.js для каждой среды, следуйте документации , определенной в окружении c -config .

Здесь вы найдете https://github.com/intuit/karate/tree/master/karate-demo/src/test/java по умолчанию karate-config.js, который будет оцениваться для каждой среды. karate-config-contract.js будет оцениваться только после оценки файла karate-config.js тогда и только тогда, когда свойство karate.env имеет значение contract.

Пожалуйста, прочитайте документацию по каратэ . Питер проделал огромную работу, чтобы документировать почти все небольшие предложения каратэ.

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