В этой части документации по каратэ объясняется, как проверить свойство 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
.
Пожалуйста, прочитайте документацию по каратэ . Питер проделал огромную работу, чтобы документировать почти все небольшие предложения каратэ.