3

私は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

明らかに、文字エンコーディングの問題があります。

無限大にはオプションがほとんどないため、無限大がこのテストを適切に実行するのを助ける方法がわかりません。誰でもここで私を助けてもらえますか?

4

1 に答える 1

6

テストを実行するには、UTF-8 文字セットを使用する必要があることを無限大に伝える必要があります。

Eclipse プロジェクトにファイル「infinitest.args」を追加するだけです。このファイルに、次を追加します。

-Dfile.encoding=UTF-8

そのため、 inifinitest は UTF-8 を使用します

ユーザー ガイド: http://infinitest.github.com/doc/user_guide.html、具体的には「JVM オプションの設定」セクション

于 2012-07-22T23:02:39.827 に答える