2011-08-05 2 views
3

Eclipse에서 infinitest를 사용하고 있으며 JUnit과 관련된 이상한 현상이 있습니다.Eclipse : infinitest 대 JUnit : 문자 인코딩

org.apache.http.HttpResponse.getEntity()org.apache.http.entity.StringEntity을 사용하는 코드가 있습니다. JUnit 테스트는 다음과 같습니다.

@Test 
public void convertEncodedContentToString() throws UnsupportedEncodingException { 
    HttpResponse httpResponseMock = Mockito.mock(HttpResponse.class); 

    Mockito.when(httpResponseMock.getEntity()).thenReturn(new StringEntity("huiäöüß@€", HTTP.UTF_8)); 
    Assert.assertEquals("huiäöüß@€", parser.convertContentToString(httpResponseMock)); 
} 

모든 소스 파일은 UTF-8로 저장됩니다.

JUnit에서이 메소드를 실행하게하면 정상적으로 작동합니다.

그러나 infinitest가이 테스트를 실행하면 어설 션이 실패했다고 불평합니다.

ComparisonFailure (expected:<hui[äöüß@€]> but was:<hui[äöüß@€]>) in ResponseBodyParserFactoryTest.convertEncodedContentToString 

분명히 문자 인코딩 문제가 있습니다.

infinitest에는 옵션이 거의 없으므로이 테스트를 올바르게 실행하기 위해 infinitest를 돕는 방법을 모릅니다. 아무도 여기 좀 도와 줄래?

+0

당신이보고 싶을 수도를 [Infinitest의 이슈 트래커] (https://github.com/infinitest/infinitest/issues)와 유사한 문제가보고 된 적이 있는지 확인한 후 직접 게시하십시오. – MatrixFrog

답변

5

테스트를 실행하려면 UTF-8 문자 세트를 사용해야한다는 사실을 알 필요가 있습니다.

"infinitest.args"파일 만 Eclipse 프로젝트에 추가하십시오. 이 파일에서 는 다음을 추가

-Dfile.encoding=UTF-8 

그래서, inifinitest이 UTF-8

사용 설명서를 사용합니다 : http://infinitest.github.com/doc/user_guide.html 특별히 섹션 'JVM 옵션 설정'

+0

와우, 고마워! :) – sjngm