1

毎秒数百の入力イベントを受信し、毎秒いくつかの出力イベントを吐き出す Android 用のリアルタイム アプリケーションを作成しました。入力イベントはステート マシンを駆動して、出力イベントを生成します。実行ごとに入力イベントと出力イベントの両方をファイルに書き込みます。回帰テストに有効と思われる実行ファイルを使用したいと考えています。記録された入力イベントをシステムにフィードし、予想される出力イベントを探します。

android.util.log私のシステムはルーパー/ハンドラーを介してイベントを受信し、タイマーを使用しますが、簡単にラップできるデバッグ目的以外は Android API に依存しません。

必要な API を提供するデスクトップ フレームワークはどれですか? JUnit テストで十分でしょうか? これはインストルメント化されたテストである必要がありますか? 実際にある種のモッカー ライブラリを実行する必要がありますか? これは私にとって初めての Android アプリで、まだ慣れていません。

テストを制御するパラメーターを変更できるように、Java でコマンド ライン ツールを作成するのが理想的です。私が念頭に置いている種類のテストが、一般的なテスト フレームワークに適しているとは思えません。実際の結果を期待される結果と一致させるタイミングと、テストの実行を停止するタイミングを決定するには、ある程度のインテリジェンスが必要だからです。適切なデスクトップ ライブラリを探しているだけだと思います。

私は仕事をする別の Android アプリを作成する方法を見たと思いますが、それはシェルから行うよりもはるかに複雑に見えます。私のバックアップ計画は、通常の Java スレッド メッセージングを使用して、ルーパー API (私のライブラリのパブリック API) の下でシステムをテストすることです。(イベントを元のタイミングでシステムにフィードしたい。)

更新: 答えを探し回ると、すべてのリアルタイム テストを実行する JUnit テストを作成できることが明らかになりましたが、エミュレーションが遅いという不満が気になります。これらのテストではタイミングが重要です。一方、デスクトップ コンピューターはタイミングを妨げるバックグラウンド プロセスを実行する可能性があるため、デバイス上で実行するテスト ハーネスを作成する必要があるかもしれません。アドバイスを期待して...

4

0 に答える 0