0

サーバーと通信して XML データを受信するアプリがあります。アプリは、XML の日付に基づいて内部状態間を移動します。

アプリのテスト コードを書きたいのですが、テストのセットアップ時にシステム時間を設定し、テストの実行中にシステム時間を変更するメカニズムはありますか?

システム時間を設定するための API が非公開であることは知っていますが、それはアプリ用です。これはアプリのテスト コード用ではないため、SenTestCaseCase 内にこのようなことを行うための既存のメカニズムはありますか?

4

1 に答える 1

0

せいぜい難しい。

もちろん、iOS シミュレーターに別のタイム ベースを反映させるような Mac のハックが理想ですが、そのようなことは聞いたことがありません。

それができない場合は、アプリを「フック」する必要があります。最初に (簡単な部分)のすべての使用[NSDate date]法と関連する「今から」の使用法を見つけて、MyNSDate への参照に置き換えます。このバージョンの NSDate は、「timeIntervalSinceReferenceDate」クラス メソッドをフックし、偽の時間値を「フィード」します。

難しいのは、アプリが感知するすべてのタイマーをどうにかして鼻くそにすることです。あなたがどうやってそれについて行くのか私にはわかりません。

于 2013-08-05T18:16:32.330 に答える