空手道 - 如何导入像karate-config.js这样的json文件

时间:2017-11-06 06:08:10

标签: json unit-testing karate

我的karate-config.js中有unicode数据,如下所示:

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

当我尝试使用#(status0persianMessage)时,它没问题 我有另一个文件名data.json像这样:

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

    }

我像这样导入这个文件:

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

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

1 个答案:

答案 0 :(得分:1)

你需要让Karate(我假设是通过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"
}