0

我的 karate-config.js 中有这样的 unicode 数据:

function f() {
    return {
        status0persianMessage: "عملیات با موفقیت انجام شد",
   };
}

当我尝试使用 #(status0persianMessage) 时没关系。
我有另一个文件名 data.json 是这样的:

    {
  "first_name": {
    "first": "احسان"
  }

    }

我像这样导入这个文件:

  • def data = read('classpath:data.json')

但是当我尝试使用#(data.first_name.first) 时,我的数据是:?????。
如何像 karate-config.js 一样导入我的 data.json?

4

1 回答 1

1

您需要获得空手道(我假设它是通过 JUnit 运行的)将 JVM file.encoding 设置为 UTF-8 - 来解决这个问题。要在 Maven 中执行此操作,请参阅此答案:https ://stackoverflow.com/a/46988963/143475

这是一个可以帮助您在 Gradle 中执行此操作的链接:https ://discuss.gradle.org/t/no-possibility-to-set-file-encoding-for-junit-tests-in-gradle-2-13 -and-odler/17223

如果需要,我建议您与 Java 开发人员合作。我不知道以下是否有效,但基于上面的链接:

tasks.withType(Test) {
   systemProperty "file.encoding", "UTF-8"
}
于 2017-11-06T09:57:59.770 回答