空手道 - 如何像空手道一样导入 json 文件-config.js
Karate - How to import a json file like karate-config.js
我的空手道中有 unicode 数据-config.js 像这样:
function f() {
return {
status0persianMessage: "عملیات با موفقیت انجام شد",
};
}
当我尝试使用#(status0persianMessage) 时没问题。
我有另一个文件名 data.json 是这样的:
{
"first_name": {
"first": "احسان"
}
}
我这样导入这个文件:
- def 数据 = 读取('classpath:data.json')
但是当我尝试使用#(data.first_name.first)时,我的数据是:??????.
如何导入我的 data.json like karate-config.js?
您需要通过 JUnit 获取空手道(我假设是 运行)以将 JVM file.encoding 设置为 UTF-8 - 以解决此问题。要在 Maven 中执行此操作,请参考此答案:
这里有一个 link 可以帮助您在 Gradle 中做到这一点:https://discuss.gradle.org/t/no-possibility-to-set-file-encoding-for-junit-tests-in-gradle-2-13-and-odler/17223
如果需要,我建议您与 Java 开发人员合作。我不知道以下是否有效,但基于以上 link:
tasks.withType(Test) {
systemProperty "file.encoding", "UTF-8"
}
我的空手道中有 unicode 数据-config.js 像这样:
function f() {
return {
status0persianMessage: "عملیات با موفقیت انجام شد",
};
}
当我尝试使用#(status0persianMessage) 时没问题。
我有另一个文件名 data.json 是这样的:
{
"first_name": {
"first": "احسان"
}
}
我这样导入这个文件:
- def 数据 = 读取('classpath:data.json')
但是当我尝试使用#(data.first_name.first)时,我的数据是:??????.
如何导入我的 data.json like karate-config.js?
您需要通过 JUnit 获取空手道(我假设是 运行)以将 JVM file.encoding 设置为 UTF-8 - 以解决此问题。要在 Maven 中执行此操作,请参考此答案:
这里有一个 link 可以帮助您在 Gradle 中做到这一点:https://discuss.gradle.org/t/no-possibility-to-set-file-encoding-for-junit-tests-in-gradle-2-13-and-odler/17223
如果需要,我建议您与 Java 开发人员合作。我不知道以下是否有效,但基于以上 link:
tasks.withType(Test) {
systemProperty "file.encoding", "UTF-8"
}