2016-04-26 7 views
1

Я начал создавать модульные тесты для моего проекта Android. I понимает разницу между модульными испытаниями и контрольно-измерительными приборами.Использование классов Android SDK в модульных тестах

В моем коде я использую класс Android SDK android.location.Location. Этот класс используется для представления местоположения Geo и как таковой широко используется даже в самых фундаментальных классах моего приложения.

Это вызывает проблему при попытке модульного тестирования на JVM. , например, метод, который использует метод getBearing(), не может работать на JVM, и выдает это исключение:

java.lang.RuntimeException: Метод setLatitude в android.location.Location поругаем не бывает.

Есть ли способ добавить этот класс только к модульному тесту, который позволит ему работать на JVM? Есть ли еще \ более разумное решение?

+0

Не могли бы вы создать класс mockLocation, который происходит из Location, и переопределить любые методы, которые ваш тестовый вызов? –

+0

Нашел то, что я считаю ответом с теневыми классами Roboelectric. – CaptainNemo

ответ

0

Хорошо, что я верю, что отвечаю на теневые классы Roboelectric!