Возможно ли ввести режим отладки для android при запуске теста junit?
Обычно я запускаю junit-тест, используя adb shell am instrument -w com.android.contacts.tests/android.test.InstrumentationTestRunner
. И он действительно работает, он будет запускать все мои тесты.
Но когда я делаю точки останова и хочу войти в режим отладки при запуске junit, это не сработало. То, как я делаю точки останова, работает, когда я отлаживаю нормальное приложение для Android.
Итак, я искал веб-сайт и пытался что-то вроде adb shell am instrument -e debug true -e class com.android.contacts.AndroidUtilsTest -w com.android.contacts.tests/android.test.InstrumentationTestRunner
, но все равно не повезло. Как вы решаете эту проблему? Я не просто хочу отлаживать класс junit, но и код в обычном проекте.
Ответы
Ответ 1
Я думаю, вы пытаетесь отладить свои тесты с помощью Eclipse. Если это так, вы можете просто выбрать тестовый проект, щелкнуть правой кнопкой мыши, Отладить как... → Тест Android JUNit, и выполнение остановится на контрольных точках, которые вы установили в своих тестах или в вашем коде.
Ответ 2
Я нашел ответ только сейчас. Он будет блокироваться, когда я начну использовать инструмент, так как он ждет меня, чтобы установить точку останова. Итак, после того, как я сделаю точку останова, junit начнет работать. Итак, последовательность отладки проекта андроида junit:
- запустить инструмент с настройкой отладки true.
- сделать точку прерывания с помощью командной строки или затмения.
- инструмент начнет автоматически запускаться.
Ответ 3
Чтобы отладить проверку Android JUnit, не забудьте поставить debuggable=true
в тестируемый проект.