私は知っておきたいことですが、計測テストの実行中にシステムと通信する方法はありますか。 例: オンボードにIRポートの電話があります&プライベートSDKを使用して作業することもできますし、自分のアプリケーションで調整することもできます。 Instrumentationのテストケースでは、テスト前に設定したい外部イベントに基づいて、テストアプリケーションの動作をテストしたいと思っています。それは非常に単純な例だが、「条件」がたくさんある、そして高へのSDKの更新頻度 AndroidJUnitとのプロセス間通信またはadb通信
@Test
public void test() throws Exception {
setupExternalCondition(condition1_ON); // setup external transiver
assertNotNull(IR.read());
assertTrue(assertIR.write());
setupExternalCondition(condition1_OFF);
assertNotNull(IR.read());
assertFalse(IR.write());
}
みたいだ
が見えます。私はこの検証をすべて手動で行うことはできません。また、 "transiver & SDKチーム"にカバレッジの単体テストを書くためのモック州リストを作成することはできません。だから私はどうにかして外部条件を設定するためにローカルマシン(またはCIマシン)上でイベント(またはテストケース実行前にtestName)を受け取るためにTestRunerに外部コンポーネントの実行を注入したい。
appUnderTestでTCPサーバーを実行して外部条件の変更をリクエストする簡単な解決策 - 私はそれが可能かどうかは確かではなく、安定した接続(Wi-Fi)についてはわからないため、adb 。
提案がありますか?
P.S:テストデバイスにはroot権限があります。