Затмение: бесконечность против JUnit: кодировка символов - PullRequest
3 голосов
/ 05 августа 2011

Я использую бесконечность в Eclipse, и у меня есть странное явление в связи с 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 правильно запустить этот тест.Может кто-нибудь помочь мне здесь?

1 Ответ

6 голосов
/ 23 июля 2012

Вы должны сказать бесконечности, что для запуска тестов необходимо использовать кодировку UTF-8.

Просто добавьте файл в свой проект Eclipse: "infinitest.args".В этом файле добавьте следующее:

-Dfile.encoding=UTF-8

И так, inifinitest будет использовать UTF-8

Руководство пользователя: http://infinitest.github.com/doc/user_guide.html в частности, раздел «Настройка параметров JVM»

...