我在某些流程中遇到了一些带有unicode字符的问题。所以我修正了流量并添加了测试。在Junit中比较unicode字符
assertEquals("Björk", buyingOption.getArtist());
的buyingOption.getArtist()将返回是同名,这里是一个片段:
但JUnit会失败,与消息:
junit.framework.ComparisonFailure: null
Expected :Bj?rk
Actual :Bj?rk
at com.delver.update.system.AECSystemTest.basicOperationtsTest1(AECSystemTest.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
好的,我想接下来是maven junit或编译器插件的一些配置。 – Roman 2010-11-21 12:31:07
@Roman - 在您的Maven pom.xml中,您需要指定源文件的编码以匹配您的编辑器。这将确保在任何环境下进行一致的编译。 http://docs.codehaus.org/display/MAVENUSER/POM+Element+for+Source+File+Encoding – McDowell 2010-11-21 13:11:55
McDowell:只要你一个人工作,或者至少在一个“受控”的环境中工作,改变你的默认编码就没有问题。然而,如果你是团队的一员,事情会变得更加困难,因为每个人都可能在不同的环境中工作。在源文件中使用Unicode转义是很简单的 - 文件编码无关紧要,无论使用什么编辑器/编译器/设置。 – Grodriguez 2010-11-21 20:10:30