У меня есть простое приложение для Android с некоторыми эспрессо-тестами. Я хочу написать некоторый базовый класс, поэтому все мои тестовые классы наследуют его методы @beforeClass и @afterClass, но проблема в том, что когда я делаю это как пример кода ниже, JUnit не видит никаких тестов в al. Я получил сообщение Empty test suite.
. В чем проблема?JUnit android test classinheritance
Пример кода:
public class RealmTest {
protected static Realm realm;
@BeforeClass
public static void beforeClass() {
realm = Realm.getDefaultInstance();
realm.setAutoRefresh(true);
}
@AfterClass
public static void afterClass() {
realm.close();
}
}
@RunWith(AndroidJUnit4.class)
public class MainActivityTest extends RealmTest {
@Rule
public IntentsTestRule<MainActivity> activityTestRule = new IntentsTestRule<>(MainActivity.class);
@Test
public void startedFine() {
assertNotNull(realm);
onView(withId(R.id.button)).perform(click());
intended(hasComponent(new ComponentName(getTargetContext(), EducationActivity.class)));
}
}
Если я побегу все тесты, тесты из MainActivityTest не будет работать. Спасибо за вашу помощь, скажите, нужна ли дополнительная информация.
поместите эти два метода в MainActivityTest. Работают ли они – piotrek1543
, вы установили 'testInstrumentationRunner' в свой файл' app/build.gradle' – piotrek1543