2016-04-25 14 views
1

Androidで基本的なJUnitとMockitoのテストを勉強しようとしています。私は位置情報を必要とする活動に代わって位置情報サービスからユーザーの場所を見つけることを扱う簡単なクラスの単体テストを作成しようとしています。 、私はJVM上でAndroidの実行時にそのユニットテストを理解Androidユニットテスト/ Mockito:android.location.Location not mocked

java.lang.RuntimeException: Method setLongitude in android.location.Location not mocked. 

:私が作成しようとしている

をテストするための「場所偽造」:

@Test 
public void testLocationReceived() throws Exception { 
    Location fakeLocation = new Location(LocationManager.NETWORK_PROVIDER); 
    fakeLocation.setLongitude(100); 
    fakeLocation.setLatitude(-80); 
    ... 
} 

をしかし、私はエラーを取得しますオペレーティングシステムやフレームワークを必要とするものにアクセスすることはできませんが、この場合も同様です。

  • もしそうなら、どのようなクラスをJVM上で使用できますか使用できないのかをどのように教えていますか?
  • このクラスをテストするためだけのJVMベースの単体テストに加えて、計装/デバイスのテストが必要ですか?
+0

をまたRoboelectricを使用することができます。http://stackoverflow.com/q/35987519/565433 – CaptainNemo

答えて

関連する問題