android - 如何配置 build.gradle 以在具有 Eclipse 文件夹结构的 Android Studio 中进行测试?

标签 android eclipse android-studio junit build.gradle

我正在尝试将 JUnit 测试添加到从 Eclipse 项目迁移过来的 Android Studio 项目中。

我的 build.gradle 看起来像这样:

sourceSets {
    main {
        manifest.srcFile 'AndroidManifest.xml'
        java.srcDirs = ['src']
        resources.srcDirs = ['src']
        aidl.srcDirs = ['src']
        renderscript.srcDirs = ['src']
        res.srcDirs = ['res']
        assets.srcDirs = ['assets']
    }
}

我尝试模仿当前 Android Studio 默认文件夹结构,将我的测试放在 src/test/java/com/mydomain/myapplication 并将我的 sourceSets 设置为:

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

但是出现了Empty test suitePackage name does not correspond to the file path等错误。

最佳答案

经过反复试验,我终于弄明白了。

指定的目录

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

不能是 main 源集的 java.srcDirs 的子目录。

sourceSets {
    main {
        java.srcDirs = ['src']
    }
}

我将测试文件夹移到了项目文件夹结构的顶层,如下所示:

myProject/
  src/
  res/
  tests/

并将我的 sourceSets 配置为:

sourceSets {
    main {
        ...
    }
    test {
        java.srcDirs = ['tests']
        resources.srcDir file('tests/com/mydomain/myapplication/resources')
    }
}

它奏效了。您放置在 tests/ 文件夹中的任何 JUnit 测试现在都将运行,但我选择将我的测试放置在 tests/com/mydomain/myapplication/ 目录中,以便它们当您在“Android”项目 View 中查看它们时,它们会很好地分组。您可以看到这也是我指定我的 resources/ 目录的地方。

关于android - 如何配置 build.gradle 以在具有 Eclipse 文件夹结构的 Android Studio 中进行测试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39055236/

相关文章:

android - "resource varying by configuration"错误是什么意思?

android - 亚行没有回应。您可以等待更多,或者手动杀死 "adb.exe"进程并单击 'Restart'

android - Google Maps v2 上的动画标记

Android 数据使用控制/跟踪?

java - 如何在 testng 的单个套件中多次运行测试类

android - 查看 Android Studio 调试器中的所有方法调用?

java - Android - 计算 FFT 后频率不正确

android - 我的 Android 应用程序如何在多种屏幕分辨率的设备上运行?

java - 为什么从生成的 jar 中找不到 jdbc 驱动程序?

eclipse - 使用 tycho 在 Eclipse 产品配置文件中执行替换