2014-12-16 3 views
2

Я пытаюсь проверить приложение на базе Android.Приложение для проверки ошибок Android с использованием Mock Location

Было бы очень полезно, если бы я мог издеваться над данными о местоположении от поставщиков в модульных тестах. Но я не могу добавить ACCESS_MOCK_LOCATION разрешения androidManifest.xml, потому что, когда я делаю так, что это дает мне ошибку:

Mock locations should only be requested in a debug-specific manifest file (typically src/debug/AndroidManifest.xml) Using a mock location provider (by requiring the permission android.permission.ACCESS_MOCK_LOCATION) should only be done in debug builds. In Gradle projects, that means you should only request this permission in a debug source set specific manifest file. To fix this, create a new manifest file in the debug folder and move the element there. A typical path to a debug manifest override file in a Gradle project is src/debug/AndroidManifest.xml.

Но когда добавить AndroidManifest.xml в src/androidTest каталоге - это просто игнорирует его при тестировании.

Что я делаю неправильно?

+0

Пробовал ли вы то, что предлагает сообщение об ошибке, то есть использовать 'src/debug/AndroidManifest.xml'? –

+0

, конечно же, я по-прежнему игнорировал мой AndroidManifest.xml при запуске тестовых примеров, бросая исключение: 'java.lang.SecurityException: требуется защищенная настройка ACCESS_MOCK_LOCATION' –

+0

" * конечно, я сделал * "> Хорошо, просто проверяю. Ваш вопрос никому не говорит, что вы это пробовали. –

ответ

3

У меня была эта проблема, и я думаю, что я понял решение. Убедитесь, что в настройках вашего устройства отмечены флажки «Доступ к макету» (в дополнение к созданию файла «src/debug/AndroidManifest.xml», объявляющего использование разрешения ACCESS_MOCK_LOCATION, как вы уже это делали).

+0

Мне кажется странным, что я раньше этого не делал, но я пробовал прямо сейчас, и это просто сработало! Благодаря! –

+0

Я рад, что это помогло :) –

0

But I when add AndroidManifest.xml to src/androidTest directory - it just ignores it when testing.

Вы пробовали поместить его в папку src/debug в соответствии с сообщением об ошибке? Это должно работать нормально.

+0

, конечно, я все еще игнорировал мой AndroidManifest.xml при запуске тестовых примеров, исключая исключение: java.lang.SecurityException: требуется защищенный параметр ACCESS_MOCK_LOCATION –

+0

, и вы уверены, что генерируете сборку отладки при попытке протестировать его, а не сборку релизов? Я также должен был бы дважды проверить файлы градиента. – TofferJ

+0

Хмм ... и не могли бы вы рассказать, как я могу это сделать? –

Смежные вопросы