2

以下に示すように、システム時間と SoapUI の時間値は異なります。

システムとソープイタイム

SoapUI は JRE 時間を使用しているため、Java 自体のバグである必要があります。以下のコードも次のようになりますVenezuela Time

String tzn = TimeZone.getDefault().getDisplayName();
System.out.println(tzn);

私が試して失敗したこと:

  • regeditで遊んでタイムゾーンを変更すると、正しい状態に戻ります。
  • コントロール-Duser.timezone="Europe/Istanbul"パネル/Java/JRE 設定/ランタイム パラメータで指定するか、変数内で同じパラメータを指定しJAVA_OPTSます。
  • 時間またはタイムゾーンを変更して元に戻します。

プログラムでタイムゾーンを修正することは可能ですが、自動テスト結果に影響するSoapUIのタイムゾーンを修正する必要があります。テストは時間に依存するためです。

4

1 に答える 1

2

私は何日もの間、この問題を解決するために本当に一生懸命努力しました。最も妥当な2つの方法が正しく機能しない理由は本当にわかりません。

  • JAVA_OPTS次の値を持つシステム変数を作成します。-Duser.timezone="Turkey"
  • コマンドラインからvmパラメーターを渡します。

最後に、私はあきらめて、特定のプログラムごとにこのパラメーターを設定しました。これをSoapUIで実行できるようにするには、SoapUI Home Path/binフォルダーに移動し、右クリックしsoapui-pro.batて編集することを選択します。(コミュニティバージョンを使用している場合、batファイルの名前は異なります)

次に、setで始まる29行目に移動し、JAVA_OPTS=-Xms128m...タイムゾーンパラメータを挿入します-Duser.timezone="Turkey"。batファイルを実行すると、正常に動作し始めます。

于 2013-02-19T17:07:27.633 に答える