config - 空手道| env 特定的配置文件
问题描述
空手道框架| 我正在尝试为不同的 env 创建多个 karate-config.js 文件,例如“test”、“stage”,有人可以帮我举个例子,我如何从不同的 karate 配置文件中调用 env 特定的配置值。我参考了这个https://github.com/intuit/karate/blob/master/karate-demo/src/test/java/karate-config-contract.js 但没有说明调用不同的配置究竟需要做什么.
解决方案
空手道文档的这一部分解释了如何检查karate.env
您的属性,karate-config.js
以便根据您的环境设置配置和变量。
这里解释了另一种归档每个环境的不同配置的方法:environment-specific-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
每个环境,请遵循特定于环境的配置文档。
您将在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
请阅读空手道文档。彼得做得很好,几乎记录了空手道提供的每一个小功能。
推荐阅读
- kubernetes - 启用网络策略的 Kubernetes 运行状况检查失败
- ruby-on-rails - 更新 rails ActiveModel 条目时的 Psych::DisallowedClass
- android - 一个屏幕上的两个片段。两个片段的滚动动画
- php - 如何避免页面刷新后重新提交
- php - PHP/MySQL 的字符编码问题
- python - 使用 2 个列表的 Python 循环
- c# - 用作资产时没有出现在 WPF 中的视频和音乐
- reactjs - 遵循规则的 react-hooks/exhaustive-deps 会导致错误。不是所有的依赖都应该被关注吗?
- javascript - 尝试使用 JWT 创建登录时出现“不是函数”错误
- c++ - Windows TCP 连接失败和重传