比较两个 Unicode 字符串时 AssertJ 错误失败
AssertJ wrong failure when comparing two Unicode strings
我从 TestNG 断言切换到 Assertj,我真的很喜欢我获得的巨大灵活性。但是,当 运行 一些 Selenium 测试时,我现在遇到了一堆失败。我正在检查一些页面标题和一些锚文本,如下所示:
assertThat(page.getTitle()).isEqualTo("This® is one annoying title");
这对特殊字符总是失败。更奇怪的是,当 运行 测试在 Eclipse 中作为 jUnit 测试时它不会失败,但是当 运行 使用 gradle 从命令行在 Windows 中进行测试时它总是失败.
我错过了什么吗?
糟糕,看来 gradle 需要在需要时为 UTF-8 配置。这是修复,在 build.gradle
文件中:
apply plugin: 'java'
compileJava.options.encoding = 'UTF-8'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}
我从 TestNG 断言切换到 Assertj,我真的很喜欢我获得的巨大灵活性。但是,当 运行 一些 Selenium 测试时,我现在遇到了一堆失败。我正在检查一些页面标题和一些锚文本,如下所示:
assertThat(page.getTitle()).isEqualTo("This® is one annoying title");
这对特殊字符总是失败。更奇怪的是,当 运行 测试在 Eclipse 中作为 jUnit 测试时它不会失败,但是当 运行 使用 gradle 从命令行在 Windows 中进行测试时它总是失败. 我错过了什么吗?
糟糕,看来 gradle 需要在需要时为 UTF-8 配置。这是修复,在 build.gradle
文件中:
apply plugin: 'java'
compileJava.options.encoding = 'UTF-8'
tasks.withType(JavaCompile) {
options.encoding = 'UTF-8'
}