如何将测试文件夹添加到较旧的Android Studio项目中

Eri*_*son 4 testing android unit-testing android-studio

我在将测试项目结构添加到Android Studio中较旧的Android项目时遇到了一些问题.

在Android Studio中创建新项目时,您将获得从start开始创建的测试目录.

src/test/java - for unit testing 
src/androidTest/java - for Android/UI testing. 
Run Code Online (Sandbox Code Playgroud)

但是我们的项目没有那些,因为它是我们从Eclipse迁移的一个较旧的项目.

我已成功将单元测试的目录(test)和java文件夹(test/java)添加到我们的项目中,其中java目录被识别为java目录,因此我可以添加新的包和java文件.

当我在Android项目视图中查看软件包时,它们被列为:

com.ourcompany.ourapp
com.ourcompany.ourapp (test) - And here I can see my testclasses. 
Run Code Online (Sandbox Code Playgroud)

到目前为止都很好.

但我似乎无法添加androidTest的结构.

如果我在其下添加目录androidTest和一个名为java的javafolder,则java文件夹被标记为绿色,我可以添加类和包.但是测试包没有标记为测试.

我在android项目视图中得到了这个结果.

com.ourcompany.ourapp
com.ourcompany.ourapp - And here is the testclass, MainActivityTest.java
com.ourcompany.ourapp (test)
Run Code Online (Sandbox Code Playgroud)

当我添加androidTest/java文件夹时,此行出现在build.gradle文件中:

android { sourceSets { main { java.srcDirs = ['src/main/java', 'src/androidTest/java/'] } } }
Run Code Online (Sandbox Code Playgroud)

如果我删除该行,那么androidTest/java文件夹不再被识别为javafolder,我不能再在那里添加类/包.在Android项目视图中,MainActivityTest类根本不再可见.

在添加androidTest文件夹时,我缺少什么,因为它被识别为测试文件夹结构?

我需要添加到gradles文件中吗?

android {
    compileSdkVersion 21
    buildToolsVersion '22.0.1'

    defaultConfig {
        applicationId "com.ourcompany.ourapp"
        minSdkVersion 15
        targetSdkVersion 21
    }

    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-project.txt'
        }
    }

    lintOptions {
        checkReleaseBuilds true
        abortOnError false
    }

    configurations.all {
        resolutionStrategy.force 'com.android.support:support-annotations:22.2.1'
    }

}

dependencies {
    compile 'com.android.support:support-v4:22.1.1'
    compile 'com.android.support:design:22.2.1'
    compile 'com.android.support:appcompat-v7:22.1.1'
    testCompile 'junit:junit:4.12'
    testCompile "org.mockito:mockito-core:1.+"
}

android {
    packagingOptions {
        exclude 'META-INF/DEPENDENCIES.txt'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/dependencies.txt'
        exclude 'META-INF/LGPL2.1'
    }
}
Run Code Online (Sandbox Code Playgroud)

nur*_*gin 6

首先,在src文件夹下创建两个目录.

名字是;

1)androidTest

2)测试

然后在这些目录下添加java文件夹.

应该像这样的"androidTest> java"和"test> java".

之后,打开当前项目中的任何源文件.按Alt + Enter,然后单击"创建测试"部分.选择您的测试目录您想要什么并编写测试.