我想在.yml
/.yaml
文件中定义特定于环境的属性。因此,我创建了以下test.yaml
:
baseUrl: 'http://localhost:1234'
接下来,我编写了这个karate-config.js
:
function() {
var env = karate.env;
if (!env) {
env = 'test'; // default is test
}
// config = read(env + '.yaml')
var config = read('/home/user/git/karate-poc/src/test/java/test.yaml');
// var config = read('test.yaml');
// var config = read('classpath:test.yaml');
return config;
}
如https://github.com/intuit/Karate#reading-files所示,read()
函数应该由Karate知道,但是我不确定这是只适用于.feature
文件还是也适用于karate-config.js
。
不幸的是,上面的read()
都不起作用,因为我得到了这个错误:
Caused by: com.intuit.karate.exception.KarateException: javascript function call failed: could not find or read file: /home/user/git/karate-poc/src/test/java/test.yaml, prefix: NONE
at com.intuit.karate.Script.evalFunctionCall(Script.java:1602)
我确信该文件存在并且是可读的。
是我做错了什么,还是我的方法不被支持?如果它不受支持,推荐的方法是从YAML文件(一次)读取基于环境的配置,以便在(多个).feature
文件中使用它?
编辑:项目的树结构:
.
├── build.gradle
├── gradle
│ └── wrapper
│ ├── gradle-wrapper.jar
│ └── gradle-wrapper.properties
├── gradle.properties
├── gradlew
├── gradlew.bat
└── src
└── test
└── java
├── karate
│ └── rest
│ ├── rest.feature
│ └── RestRunner.java
├── karate-config.js
└── test.yaml
使用./gradlew test
运行
在JS中,使用karate
对象,这里对其进行了解释:https://github.com/intuit/karate#the-karate-object
所以这应该起作用:
var config = karate.read('classpath:test.yaml');
问题内容: 我在使用spring通过java阅读yaml时遇到问题。让我先显示代码 我的yaml文件: Spring上下文xml也具有以下内容: 现在,我的期望是,在我的春季测试应用程序运行期间(上下文xml来自我的测试资源,yaml也处于我的测试中),这些orders和requests值已设置,但它们为空。另外,请注意,除了使用@Value($ {…})注入的值之外,yaml中还有其他值,注入它
我正在尝试使用空手道进行e2e测试,并已从最低设置开始。我想在用于测试,但karate报告该文件不是js函数,因此测试无法获取配置: 这是我的: 这是我的测试: 这是测试运行程序:
我有以下问题。我根据一个给定的概要文件在yaml文件中读取的值创建一个数据源。 我当前的问题是,当我用“dev”配置文件启动应用程序时,serviceId的值是'my-prod-service'。 我在这里做错了什么?
在karate-config.js我基于环境设置了basUrl。我想能够得到这个网址在Java所以我可以得到相应的服务器名称在网址。请告诉我怎么做。我的karate-config.js看起来像这样: 我编写了一个Java实用程序来连接数据库并运行查询。但我需要知道数据库是在示例中的server1还是server2上。
我刚开始穿弹力靴。这就是我要解决的问题。我有一个application.yml文件,它具有以下属性: 我尝试使用以下代码访问KinesisSenderFeature的值: 以及 PropertySourcesPlaceHolderConfigureer bean定义为: 是的,我确实看到了: 将Yaml中的列表映射到Spring Boot中的对象列表 Spring boot YAML配置未读取所有
我的XML请求如下所示: null 我正在CDATA体中从外部传递#(ref),但它不读取它。 我在做什么不对劲吗?