Проблема с тестовым набором в robotium - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть один файл тестового набора, содержащий около 20 методов (тестовых примеров), который расширяет ActivityInstrumentationTestCase2.Мне нужно написать набор, который будет вызывать только выбранные методы тестового примера, я знаю, что в junit есть один метод, который принимает методы для выполнения

    suite.addTest( new AllTestCases("testcase1"));

Есть ли подобный способ делать вещи в Android Robotium?Если да, пожалуйста, помогите мне исправить это.Спасибо.

Ответы [ 3 ]

1 голос
/ 25 августа 2014

Чтобы запустить отдельный тестовый пример непосредственно из командной строки:

adb shell am instrument -w -e class <<strong> Имя класса теста с именем пакета > # <<strong> Имя метода теста > <<strong> App-Name-Of-Test-App > / <<strong> Instrumentation-Name-Name-In-Manifest >

Пример:

adb shell am instrument -w -e class com.myapp.test.ActivityFragmentTest#testLogin com.myapp.test/android.test.InstrumentationTestRunner

1 голос
/ 08 мая 2012

Вы не можете сделать вызов, подобный new AllTestCases("testcase1");, потому что все связанные с Android тестовые классы наследуются от AndroidTestCase или InstrumentationTestCase, и ни один из этих классов не предоставляет конструктор, который принимает строку в качестве аргумента.

Вы можете взглянуть на android.test.suitebuilder.TestSuiteBuilder, но даже этот класс не позволяет запускать отдельные методы тестирования, он принимает тесты на уровне пакета.

Возможно, вам повезет в достижении вашей цели с помощьюаннотации тестов Android, такие как @SmallTest, @MediumTest, @LargeTest и т. д. Они позволят вам нацеливать только указанные аннотированные методы с помощью следующей команды:

adb shell am instrument -w -e size <small|medium|large> com.youproject.test/android.test.InstrumentationTestRunner

Наконец, возможно нацеливаниеотдельные методы испытаний или классы непосредственно из затмения.

0 голосов
/ 01 июня 2012

Вы можете запускать отдельные тестовые случаи программно с аргументами "-e" команды "adb shell am instrument". Например, для метода 'testFoo ()' в 'com.foo.bar.FooTest' вы можете запустить:

adb shell am instrument -w \ -e "класс com.foo.bar.FooTest # testFoo" \ com.foo.bar.test / android.test.InstrumentationTestRunner

http://developer.android.com/guide/developing/testing/testing_otheride.html

...