В <package> тесты не найдены при тестировании с эспрессо

Я хочу проверить MainActivity в своем приложении для Android Итак, я создал первый тестовый пример, который проверяет функциональность кнопки. Если пользователь нажимает эту конкретную кнопку, должна открыться новая активность.

Вот мой код:

@RunWith(AndroidJUnit4.class)
public class MainActivityTest {

    @Rule
    public ActivityTestRule<MainActivity> mActivityRule = new ActivityTestRule<>(MainActivity.class);

    @Test
    public void startNewActivityTest() {
        Intents.init();
        onView(withId(R.id.main_new)).perform(click());
        intended(hasComponent(NewActivity.class.getName()));
        Intents.release();
    }

    @Before
    public void setup() {
        closeSoftKeyboard();
    }

}

К сожалению, я получаю следующее исключение:

junit.framework.AssertionFailedError: No tests found in package.MainActivityTest
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:191)
at android.test.AndroidTestRunner.runTest(AndroidTestRunner.java:176)
at android.test.InstrumentationTestRunner.onStart(InstrumentationTestRunner.java:554)
at android.app.Instrumentation$InstrumentationThread.run(Instrumentation.java:1701)

Вот мой файл Gradle:

apply plugin: 'com.android.application'

android {
    compileSdkVersion 19
    buildToolsVersion "23.0.1"

    lintOptions {
        abortOnError false
    }

    defaultConfig {
        applicationId "package"
        minSdkVersion 14
        targetSdkVersion 19
    }

    signingConfigs {
        debug {
            storeFile file(RELEASE_STORE_FILE)
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }
        release {
            storeFile file(RELEASE_STORE_FILE)
            storePassword RELEASE_STORE_PASSWORD
            keyAlias RELEASE_KEY_ALIAS
            keyPassword RELEASE_KEY_PASSWORD
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_7
        targetCompatibility JavaVersion.VERSION_1_7
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.1.0'
    compile 'com.google.android.gms:play-services:4.2.+'
    androidTestCompile 'com.android.support:support-annotations:19.0.1'
    androidTestCompile 'com.android.support.test:runner:0.4.1'
    androidTestCompile 'com.android.support.test:rules:0.4.1'
    androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.1'
    // Set this dependency if you want to use Hamcrest matching
    androidTestCompile 'org.hamcrest:hamcrest-library:1.3'
    androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.1'
}
12 голосов | спросил user3475602 19 SatEurope/Moscow2015-12-19T10:07:27+03:00Europe/Moscow12bEurope/MoscowSat, 19 Dec 2015 10:07:27 +0300 2015, 10:07:27

2 ответа


0

Установите инструментальный инструмент

  

Добавьте в тот же файл build.gradle следующую строку в   android.defaultConfig: testInstrumentationRunner   "Android.support.test.runner.AndroidJUnitRunner"

apply plugin: 'com.android.application'

android {
    ...

    defaultConfig {
        ...

        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
}

dependencies {
    // App's dependencies, including test
    compile 'com.android.support:support-annotations:23.0.1'

    ...
}

Я никогда не использовал Espresso Intents, но, возможно, вам нужен этот лайк a href = "https://github.com/googlesamples/android-testing/blob/master/ui/espresso/IntentsBasicSample/app/src/androidTest/java/com/example/android/testing/espresso/BasicSample/DialerActivityTest. Java # L80" > здесь :

  

Используйте IntentsTestRule вместо ActivityTestRule при использовании   Эспрессо-Intents. IntentsTestRule облегчает использование   API-интерфейсы Espresso-Intents в функциональных тестах пользовательского интерфейса. Этот класс   расширение ActivityTestRule, которое инициализирует Espresso-Intents   перед каждым тестом аннотируется @Test и выпускает Espresso-Intents   после каждого пробного запуска. Деятельность будет прекращена после каждого теста   и это правило можно использовать так же, как ActivityTestRule.

ответил albodelu 20 SunEurope/Moscow2015-12-20T03:56:40+03:00Europe/Moscow12bEurope/MoscowSun, 20 Dec 2015 03:56:40 +0300 2015, 03:56:40
0
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"

пропали без вести

ответил Duna 28 thEurope/Moscowp30Europe/Moscow09bEurope/MoscowThu, 28 Sep 2017 15:30:08 +0300 2017, 15:30:08

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132