Java 我的Junit测试可以';t使用';mvn清洁安装';在窗户上
我的相关pom部分如下:Java 我的Junit测试可以';t使用';mvn清洁安装';在窗户上,java,eclipse,maven,unit-testing,junit,Java,Eclipse,Maven,Unit Testing,Junit,我的相关pom部分如下: <!-- https://mvnrepository.com/artifact/junit/junit --> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <
<!-- https://mvnrepository.com/artifact/junit/junit -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.6.1</version>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.12</version>
<configuration>
<forkMode>always</forkMode>
</configuration>
</plugin>
</plugins>
</build>
加载文件时,每一行都由以下代码解析和验证:
String[] entry = line.split("\\|");
if (entry.length != 3) {
log.error(String.format("Invalid line: %s in %s " + line, filePath));
}
那么“entry”应该由3个元素组成:{”♥", "+", "爱“}。这说明在Eclipse Windows或Ubuntu机器上运行时解析是正确的,但在Windows上的命令行中运行时解析失败
现在的问题是,为什么在解析或断言此条件时失败?我怀疑这是由于编码。可能是在Windows上的终端上运行时,心脏符号可能会遇到编码问题,但是,在我的pom.xml中,我有以下几行代码:
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>
UTF-8
UTF-8
所以我很困惑为什么会这样。好的是,我现在发现了问题所在。您在windows上遇到任何异常吗?是的,错误消息说某些类无法初始化。将堆栈跟踪添加到原始问题有助于其他人解决此问题。在单元测试中,您对环境做了一些假设,但这些假设并不总是正确的。请参阅我的编辑。谢谢
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
</properties>