2011-11-26 1 views
10

Я разработал для своего приложения небольшой набор тестов для Android, написанных на Scala, который использует библиотеку Robotium. Набор для всех целей и задач является стандартным тестовым проектом Android JUnit и успешно запускается при запуске из Eclipse.Как запустить тесты Android с помощью sbt?

Я уже успешно создал и запускал свое основное приложение для Android с помощью sbt android-plugin. Основное приложение расположено в [ProjectDir]/src/main. Я также смог успешно build my Android test application, который находится в каталоге [ProjectDir]/tests/src/main. Я проверил эмулятор, и тестовое приложение, похоже, было правильно установлено с помощью команды tests/android:install-emulator андроидного плагина. Однако, когда я пытаюсь запустить тестовый проект через sbt tests/android:test-emulator, я получаю:

... 
Test results for InstrumentationTestRunner= 
Time: 0.001 

OK (0 tests) 

Как я могу получить SBT андроид-плагин признать, что проект содержит JUnit тесты и запустить их?

ответ

1

Соглашение об именах, используемое здесь, такое же, как и обычный JUnit, и поэтому вы должны назвать тесты xxxTest.class. Им также необходимо расширить TestCase (AndroidTestCase, InstrumentationTestCase и т. Д.).

Повторим, затмение будет работать команда, которая будет выглядеть как:

adb shell am instrument -w -e class com.android.foo.FooTest,com.android.foo.TooTest com.android.foo/android.test.InstrumentationTestRunner 

Он будет добавлять имя классов в команде так именования может не применяться.

Если вы бежите от SBT, он будет работать

adb shell am instrument -w com.android.foo/android.test.InstrumentationTestRunner 

который найдет все классы под именем пакета в com.android.foo приложения, которое заканчивается someClassNameTest.

+0

Так вы говорите, что он работает на вас? Это тесты, которые отлично работают без изменений в тестировщике тестов Junit Android от Eclipse. Я не знаю соглашения об именах классов, но мне известно о соглашении об именовании метода - что им имена методов должны предшествовать слово «тест». Мои тесты расширяют пользовательский класс 'TestFixture', который расширяет' ActivityInstrumentationTestCase2'. –

+0

Вы попробовали FixtureTest – charroch

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

  • Нет связанных вопросов^_^