使用 Gradle 时 Cucumber 测试结果的错误西里尔文输出

Bad Cyrillic output of Cucumber test result when using Gradle

当我在 IDEA 中使用 Gradle 配置 运行 我的 Cucumber 场景时,我得到这个:

但是当我运行用JUnit测试运行在IDEA中配置时,名称显示正常。

两种情况下的控制台输出相同。

场景是用俄语写的,由于安全限制,我无法显示它们。

看起来非 UTF-8 字符被解释为 UTF-8。

尝试强制 Gradle 在构建期间使用 UTF-8:

tasks.withType(JavaCompile) {
    options.encoding = 'UTF-8'
}

为测试设置编码系统 属性 也可能有帮助:

test {
    systemProperty "file.encoding", "utf-8"
}

感谢

-Dfile.encoding=UTF-8 添加到 "Help | Edit Custom VM Options" 然后重新启动 IDE 解决了这个问题。

我之前使用的替代解决方案:

将 "Run tests using:" 从 Gradle 更改为 IntelliJ IDEA

在"File | Settings | Build, Execution, Deployment | Build Tools | Gradle"