Студия Android - отсутствует папка androidTest - PullRequest
0 голосов
/ 12 ноября 2018

Я работаю над тестированием автоматизации с помощью Espresso.

Папка, в которую можно записать тестовые классы инструментов, отсутствует

Скриншот проекта

Я пытался добавить

android{    
        sourceSets{
        main { java.srcDirs = ['src/main/java'] }
        test { java.srcDirs = ['src/test/java'] }
        androidTest { java.srcDirs = ['src/androidTest/java'] }
    }

}

внутри build.gradle , но не работает.

Попытка создания с использованием других решений, предусмотренных в , этот вопрос по-прежнему не работает

Ответы [ 2 ]

0 голосов
/ 28 марта 2019
  1. Создайте свою папку androidTest, как и любую другую папку. Поместите это в app / src. Вы можете создать эту папку вне Android Studio, если хотите.

  2. Поместите правильные зависимости в ваш файл build.gradle. Примерно так:

    testImplementation 'junit:junit:4.12'
    testImplementation 'androidx.arch.core:core-testing:2.0.1'
    
    androidTestImplementation 'androidx.test:rules:1.1.1'
    androidTestImplementation 'androidx.test:runner:1.1.2-alpha02'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0-alpha02'
    androidTestImplementation 'androidx.test.ext:junit:1.1.0'
    androidTestImplementation 'androidx.test.espresso:espresso-intents:3.1.1'
    
  3. Поместите параметр testInstrumentationRunner в файл build.gradle:

    android {
       defaultConfig {
          testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
       }
    }
    
  4. И в вашем тестовом классе, который вы сохраните в app / src / androidTest / [ваше пространство имен здесь], будет выглядеть примерно так:

    import android.content.Context;
    import android.support.test.InstrumentationRegistry;
    import android.support.test.runner.AndroidJUnit4;
    
    import org.junit.Test;
    import org.junit.runner.RunWith;
    
    import static org.junit.Assert.assertEquals;
    
    @RunWith(AndroidJUnit4.class)
    public class PrincipalTest {
    
        @Test
        public void testAppContext() {
            Context context = InstrumentationRegistry.getTargetContext();
            assertEquals("my.package.name", context.getPackageName());
        }
    
    }
    
0 голосов
/ 26 ноября 2018

Скопируйте и вставьте существующую тестовую папку, переименовав ее в «androidTest» в файловой системе, у меня сработало.

Поскольку мой проект недавно был перемещен в новое хранилище, поэтому папка была удалена.

...