2

我有一个在大多数机器上运行良好的单元测试,但是一个 ubuntu 盒子似乎无法比较特殊字符“?”。字符本身应该是â。在我的机器上,eclipse 控制台通常会显示我们应该使用哪种编码来确保它有效。

The extracted text was wrong expected:<...tons. Il jette le bl[?me sur ....

but was:<...tons. Il jette le bl[?me sur .....

测试在 Eclipse Juno 中使用 Maven 2 使用 java 1.7 运行

有没有人有想法...?

编辑:

此行为仅在通过 Maven 测试运行单元测试时出现,而不是在执行运行 As Junit 测试时出现......在 Maven 配置中,我们有

<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

这是为 Maven 用户设置和模块的 pom.xml 文件中设置的。

4

3 回答 3

3

尝试将 UTF-8 编码放在您的maven-compiler-plugin内部<build>部分pom.xml

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.5.1</version>
  <configuration>
    <source>1.6</source>
    <target>1.6</target>
    <encoding>UTF-8</encoding>
  </configuration>
</plugin>
于 2012-12-17T18:22:11.700 回答
2

我们设法通过@Slawomir Jaranowski 解决这个问题来解决这个问题。

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-surefire-plugin</artifactId>
  <configuration>
    <argLine>-Dfile.encoding=${project.build.sourceEncoding}</argLine>
  </configuration>
</plugin>
于 2018-12-11T10:05:59.753 回答
0

我最近在 JUnit 中遇到了 Unicode 问题。您可以尝试在 JUnit 测试或程序本身中使用有问题的 Unicode 字符的转义符号。

在您的情况下,请尝试使用 /u0032 而不是使用 â。

于 2012-12-17T17:14:40.943 回答