Когда я создаю параметризованные тестовые случаи в JUnit 3.x, я обычно создаю TestSuite с чем-то вродепараметризованные тесты JUnit в тестовом проекте Android
public static Test suite() {
TestSuite s = new TestSuite();
for (int i = MIN; i < MAX; ++i) {
s.addTest(new MyTest(i));
}
}
Этот suite()
метод называется правильно при запуске JUnit из команды настольного -линия. Когда я попробовал это с моим тестовым проектом Android, тесты не запускаются. Как заставить мои тесты запускать на эмуляторе? Или существует другой способ создания параметризованных тестов для Android?
Больше мысли:
Обычно я бегу моих тестов с помощью командной строки:
adb shell am instrument -w [-e class <fully qualified test class name>[#<test method name>()]] <Android package name>/android.test.InstrumentationTestRunner
Это позволяет мне выбрать, какие тесты для запуска из моего тестового набора. В идеале я также хочу запустить параметризованные тесты. Ссылка в комментарии от @Appu описывает создание отдельного приложения, которое запускает тесты JUnit. Как часть этого, это приложение имеет пользовательский TestRunner. Я, скорее всего, заимствую эти идеи, чтобы создать TestRunner, который я могу использовать вместо
android.test.InstrumentationTestRunner
. Это похоже на большую работу для неординарной задачи. Я предпочитаю не изобретать колесо, если в Android API уже есть аналогичное решение. Кто-нибудь знает об этом? Кроме того, будут полезны другие альтернативные решения.
Nevermind, это выглядит как @dtmilano уже писал это как ответ ...
[This] (http://mylifewithandroid.blogspot.in/2008/11/junit-in-android.html) может быть полезным. Это один из моих любимых блогов. – Kanth
@Appu Спасибо. Не стесняйтесь публиковать это как ответ. Вы заслуживаете, по крайней мере, своего возвышения ;-) –
Итак, вы можете задать свой вопрос +1.Но я могу опубликовать это как ответ, если это действительно помогло вам решить вашу проблему. – Kanth