2016-09-19 11 views
0

私が働いているアプリは、位置情報サービスによって駆動されます。ラップトップに携帯電話を接続して運転することは、必ずしも実用的ではありません。Android:ロケーションサービスの機能テスト(自動化)

私のアプリに自動機能テストを書くにはどうすればよいですか(グーグルはUI関連のテストを表示しています)?私は自分のアプリケーションのインスタンスを持っているとメソッドを呼び出しますユニットを作成し、Javaアプリケーションで

@Override 
public void onLocationChanged(Location location) {} 

私は(私のアプリは、場所マネージャによって駆動されているので)、次のコールバックに値を挿入する必要があることを理解しています。しかし、 a)Android App(メインメソッドがなく、すべてがonCreate()によって駆動される) b)上記の機能がAndroidサービスの一部である場合、どのように変わるか

答えて

0

PowerMockitoを使用しています。私はそれのスーパーファンではありませんが、私は完全にあなたのユニットテストの不満を理解しています。ここでは、トピックのためのまともなチュートリアルです:http://www.johnmullins.co/blog/2015/02/15/beginners-guide-to-using-mockito-and-powermockito-to-unit-test-java/

基本的に、何PowerMockitoすることができますPowermockユニットテストの束を書いています。これらのテストでは、回答を模擬してコードをテストできるようになります。手動で "onLocationChanged"を呼び出すことさえできます。

私がPowerMockitoを好きではない理由は、あなたがAndroid OSのように行動しなければならないということです。ダミーのロケーション応答を作成し、コードが適切かどうかをテストすることができますが、フィールド条件を使ってコードをテストするのはずっと難しくなります。特定の電話機がその場所に問題が発生した場合、PowerMockはそれを捕まえるのを助けることはありません。

関連する問題