2012-12-17 3 views
2

대부분의 시스템에서 제대로 작동하는 단원 테스트를 사용하지만 우분투 상자 하나는 특수 문자 "?"를 비교할 수없는 것 같습니다. 캐릭터 자체는 â이어야합니다. 내 컴퓨터에서 이클립스 콘솔은 정상적으로 작동하는지 확인하기 위해 어떤 인코딩을 사용하는지 표시합니다.Junit이 프랑스어 문자열 어설 션에 실패했습니다

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

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

시험은 자바 1.7

를 사용하여 메이븐 2를 사용하여 이클립스 주노 내에서 실행되는

사람이 생각이 있습니까 ...?

편집 : JUnit 테스트로서 실행을 수행 할 때 받는다는 구성에서 ... 메이븐 시험을 통해 단위 테스트를 실행하지 않을 경우이 동작은 볼 수

우리가 가지고있는

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

Maven 사용자 설정과 모듈의 pom.xml 파일 모두에 대해 설정됩니다.

+0

인코딩에 <build> 섹션 내부 maven-compiler-plugin에 UTF-8 인코딩을 넣어? 텍스트가 'UTF-8'인 것으로 보이는 반면 다른 것이 예상됩니다. 기대를 바꿔야합니다. –

+0

어디에서 문자열을 읽나요? 파일 에서요? – assylias

+0

@assylias 문자열을 하드 코딩 했으므로 – Stainedart

답변

2

시도는 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> 
+0

나는 이것을 내일 아침에 시도 할 것이다. thx – Stainedart

+0

@Stainedart가 작동 했습니까? – Mark

+0

유닉스 머신에서 윈도우즈에서 우리는 OS 레벨의 자바 변수로부터 인코딩을 설정해야했다. – Stainedart

0

저는 최근 JUnit에서 유니 코드 문제가있었습니다. JUnit 테스트 나 프로그램 자체에서 문제가되는 유니 코드 문자의 이스케이프 처리 된 표기법을 사용해 볼 수 있습니다.

귀하의 경우에는/u0032를 사용하십시오.

+0

문제는 일부 특정 컴퓨터에서만 오류가 발생하기 때문에 텍스트를 다시 쓰지 않는 것입니다. 우리의 빌드 환경이 잘 작동하고 있습니다. 문제점을 해결하기 위해 문제가있는 시스템의 구성을 변경하고 싶습니다. – Stainedart

+0

[This (http://stackoverflow.com/questions/4237581/comparing-unicode-characters-in-junit) 질문은 꽤 명확하게 설명한다고 생각합니다. 제 문제는 빌드 박스가 업그레이드되고 새로운 glibc에 문제가 있다는 것입니다. 이스케이프 처리 된 유니 코드로 매핑하면 기술 담당자가 가장 쉽게 해결할 수 있습니다. 죄송 합니다만 더 완벽한 답변을 드릴 수는 없습니다. – KJP

관련 문제