Как запустить тестовый метод или класс в качестве теста на Android в Android Studio
Я использую Android Studio 0.2.4, но я предполагаю, что этот вопрос может иметь отношение к IntelliJ в целом. Мои тесты находятся под управлением src/instrumentTest/java, и все они расширяют AndroidTestCase. Когда я запускаю все тесты (скажем, щелкнув правой кнопкой мыши на исходной папке и нажав "Запустить..." ), тесты отлично протестированы на эмуляторе Android под Android Tests (как показано в разделе "Run/Debug Configurations" ).
Но если я попытаюсь запустить один тестовый метод или тестовый класс таким же образом (щелкните правой кнопкой мыши на методе и нажмите "Запустить..." ), тест выполняется как обычный тест JUnit, а не на эмуляторе, который из конечно не выполняется (трассировка стека ниже). Даже если я попытаюсь создать новую конфигурацию запуска, я не вижу ничего другого, кроме конфигурации JUnit.
Из среды IDE, как запустить тестовый метод или тестовый класс в качестве теста на Android?
Exception in thread "main" java.lang.NoClassDefFoundError: junit/textui/ResultPrinter
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:188)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:113)
Caused by: java.lang.ClassNotFoundException: junit.textui.ResultPrinter
at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at java.lang.ClassLoader.loadClass(ClassLoader.java:423)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
... 3 more
Ответы
Ответ 1
Для тех, кто все еще следит, это работает в Android Studio 0.2.8. Есть три состояния, о которых вам нужно знать.
-
Если вы никогда раньше не запускали метод тестирования или класс, не будет сохраненной конфигурации запуска. Поэтому щелкните правой кнопкой мыши на методе или классе, и рядом с Run должна появиться стрелка вправо, которая отображает имя вашего теста. Выберите тот, у которого есть символ Android.
-
Если вы ранее использовали тестовый метод или класс как обычный JUnit-тест, то Android Studio сохранит эту конфигурацию, и в контекстном меню "Выполнить" в контекстном меню не будет указана стрелка вправо или параметры. В этом случае в меню файла перейдите в Run- > Edit Configurations..., найдите свой тест в разделе JUnit и удалите его. Тогда вы должны находиться в состоянии (1).
-
Если вы ранее использовали тестовый метод или класс в качестве теста на Android, тогда Android Studio сохранит эту конфигурацию, и в контекстном меню "Выполнить" в контекстном меню не будет стрелки вправо или параметры. Просто выберите "Запуск".
Ответ 2
Правильно ли вы настроили свой тестовый код в Android Studio? Gradle Последняя конвенция в Android Studio предназначена для вызова вашего каталога тестов androidTest. Затем в файле build.gradle вам нужно поставить:
androidTest.setRoot('androidTest')
androidTest.java.srcDirs = ['androidTest/java']
Затем вы можете щелкнуть правой кнопкой мыши по любому тестовому классу и запустить его.
ИЗМЕНИТЬ:
Эти инструкции предназначены только для тестов эспрессо.