После выполнения некоторых инструкций на блоге Диего Торреса Я могу тестировать свои классы с помощью обычного тестового прогона Eclipse JUnit, однако я также хочу иметь возможность запускать свои модульные тесты из эмулированного Android среда.
На данный момент это не должно иметь никакого значения, поскольку классы, над которыми я работаю, выполняют очень простые числовые или сетевые задачи, но, очевидно, все, что связано с конкретными функциями UI или Android API, может быть когда-либо протестировано только на эмуляторе.
Я установил новую конфигурацию запуска типа AndroidJUnitTest, которая использует android.test.InstrumentationTestRunner, однако всякий раз, когда я запускаю тест, я получаю в консоли следующую ошибку:
[2010-01-09 00:45:23 - Pal1]Uploading Pal1.apk onto device 'emulator-5556'
[2010-01-09 00:45:23 - Pal1]Installing Pal1.apk...
[2010-01-09 00:45:25 - Pal1]Success!
[2010-01-09 00:45:25 - Pal1]Launching instrumentation android.test.InstrumentationTestRunner on device emulator-5556
[2010-01-09 00:45:27 - Pal1]Test run failed: Unable to instantiate instrumentation ComponentInfo{org.stodge.traderpal/android.test.InstrumentationTestRunner}: java.lang.ClassNotFoundException: android.test.InstrumentationTestRunner in loader dalvik.system.PathClassLoader@43598c28
Как и следовало ожидать, тест завершается (фактически без выполнения каких-либо тестов после последнего сообщения «Невозможно создать экземпляр Instrument ComponentInfo».
На данный момент мои тестовые наборы состоят из не более чем кода котла-разметчика Junit3 и Junit4. Реализации тестов состоят только из вызовов fail (). Все, что мне нужно сделать на этом этапе, - это показать, что я могу выполнить базовый модульный тест в обеих средах, чтобы я мог начать разработку через тестирование.
Примечания:
- Запуск Eclipse 3.5 на Ubuntu 64bit
- Эмулятор установлен на уровень API 2
- Я новичок в Android и Java, так что извините за мои основные вопросы