0

私のマシンでは、日付形式が 2013-12-21 以外の場合、すべての Junit テスト ケースのみが失敗します。たとえば、日付が2007-03-30+01:00の場合、期待値は次のようになります: <2007-03-[30 00]:00:00.0> but was:<2007-03-[29 23]: 00:00.0>

しかし、別のマシンでは問題なく動作しています。誰か助けてください。私のOSはLinuxです。

入力日: 2007-03-30+01:00

日付の検証: 2007-03-30 00:00:00.0

メッセージ: 予想:<2007-03-[30 00]:00:00.0> でしたが、<2007-03-[29 23]:00:00.0> でした

4

2 に答える 2

0

コードを共有したことに注意してください。問題はjava.util.Calendar、コードで使用している可能性があることです。これは、タイムゾーンに依存する API であり、異なるタイムゾーンで実行されている異なるマシンで異なる結果を生成する可能性があります。変更する選択肢がある場合java.util.Dateは、タイムゾーンに依存しないため、の使用を検討する必要があります

于 2013-08-15T06:34:46.007 に答える
0

toString()ロケールを考慮した を比較しているようです。

生の日付を比較してみてください。

assertEquals(expectedDate, myDate);

または、代わりにエポック時間:

assertEquals(expectedDate.getTime(), myDate.getTime());
于 2013-08-15T07:07:48.567 に答える