【问题标题】:Configure test folder for unit testing in Android studio在 Android Studio 中为单元测试配置测试文件夹
【发布时间】:2015-09-15 23:17:38
【问题描述】:

我在我的 android studio 项目中添加了一个用于单元测试的文件夹。默认文件夹是 andoidTest 但我在 test 中添加了一个新文件夹和名称。 (like robolectric sample tests)

当我在我的 build.gradle 中添加测试依赖项时,例如

testCompile("junit:junit:${junitVersion}")
testCompile ("org.robolectric:robolectric:${robolectricVersion}")

他们不会添加到项目下的外部库中,但是当我使用默认配置并使用androidTestCompile时,它可以添加外部库。

然后我想也许我应该为gradle中的测试设置Root,所以我在build.gradle的android标签中使用了以下内容:

sourceSets {
        androidTest.setRoot('src/test')
}

但问题仍然存在。我可以使用gradlew 运行测试,但测试文件夹中的类中的导入不适用,并且没有可见的用于测试目的的外部库。

有人有解决这个问题的办法吗?

【问题讨论】:

  • 您应该将构建变体工具窗口中的测试工件值从“Andrio 测试”更改为“单元测试”
  • 而且我认为这个问题已经重复了:)
  • 非常感谢@Eugen。如果您愿意,您可以分享您的答案,以便我接受。并告诉我之前有人问过它在哪里。
  • test目录。 androidTest 目录呢?

标签: android unit-testing gradle android-gradle-plugin robolectric


【解决方案1】:

我正在搜索,但没有找到我认为已经涵盖此内容的答案。所以决定为未来创造一个新的。

回答 Android Studio 目前没有自动进行单元测试。我知道它计划用于 1.3 版本。

因此,您必须在 Build Variants 工具窗口中将测试工件值从 Android Instrumental Tests 更改为 Unit Tests

【讨论】:

    【解决方案2】:

    你的 Gradle 脚本几乎没问题,但请尝试这样做:

    sourceSets {
        androidTest.setRoot('src/test')
        androidTest {
            java.srcDirs = ['src/test/java']
        }
    }
    

    【讨论】:

    • 你们有productFlavors吗?如果您需要设置 testApplicationId
    • 不,没有味道。
    • 所以事情是.. 设置 root 显然没有任何意义。您仍然需要设置源路径,如本答案中所述。这实际上为我解决了这个问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-09-11
    • 2018-09-08
    • 1970-01-01
    相关资源
    最近更新 更多