Каждый раз, когда я запускаю «тест gradlew» на терминале в Android Studio, выполняются ВСЕ мои тесты (хранящиеся в app\src\androidTest\java\path\to\package).
зависимости для компиляции тестов в app/build.gradle:
androidTestCompile 'junit:junit:4.10'
androidTestCompile 'org.robolectric:robolectric:2.1.+'
androidTestCompile 'com.squareup:fest-android:1.0.+'
androidTestCompile "org.mockito:mockito-all:1.9.5"
Я новичок в JUnit и Robolectric, также у меня есть TestRunner по умолчанию:
public class MyTestRunner extends RobolectricTestRunner {
public MyTestRunner (Class<?> testClass) throws InitializationError {
super(testClass);
}
@Override
protected AndroidManifest getAppManifest(Config config) {
String manifestProperty = System.getProperty("android.manifest");
if (config.manifest().equals(Config.DEFAULT) && manifestProperty != null) {
String resProperty = System.getProperty("android.resources");
String assetsProperty = System.getProperty("android.assets");
return new AndroidManifest(Fs.fileFromPath(manifestProperty), Fs.fileFromPath(resProperty),
Fs.fileFromPath(assetsProperty));
}
return super.getAppManifest(config);
}
}
Каждый ClassTest.java аннотируется @RunWith(MyTestRunner.class)
.
Как я могу запустить только несколько тестов? Например. только один конкретный тест или все тесты в одном конкретном классе / одном конкретном пакете?
И, может быть, есть способ сделать все это с помощью графического интерфейса Android Studio вместо терминала? (хорошо бы знать ;))
RobolectricTestRunner
от robolectric 2.3 должно работать из коробки - person Eugen Martynov   schedule 11.08.2014