gpt4 book ai didi

android - 在 Android 中,为什么我需要为 "test"sourceSet 使用 androidTestCompile?

转载 作者:行者123 更新时间:2023-11-28 20:11:31 26 4
gpt4 key购买 nike

所以我有一个包装 API 的库模块,我想编写一些测试。我想导入 JUnit 和 MockWebServer 之类的东西,但只针对测试 sourceSet,而不是 androidTest,因为我想使用前者,因为后者会导致测试在 android 设备或 AVD 中运行,我不要。因此,我的 gradle 文件中有这个:

sourceSets {
main {
test {
setRoot('src/test')
}
}
}

...

dependencies {
...
testCompile 'junit:junit:4.12'
testCompile 'com.squareup.okhttp:mockwebserver:2.4.0'
}

但是,这不会起作用,相反,我必须将依赖项导入为 androidTestCompile 依赖项。这是为什么?

最佳答案

你应该有这样的结构:

root
module
src
main
test

build.gradle 中您需要的是(无需设置源集):

dependencies {
// Unit testing dependencies.
testCompile 'junit:junit:4.12'
testCompile 'com.squareup.okhttp:mockwebserver:2.4.0'
}

您可以查看 Google 的官方仓库:

如果您想使用单元测试和 Instrumentation 测试,您应该:

root
module
src
main
test
androidTest

在这种情况下,您的 build.gradle 应该是:

dependencies {

// Dependencies for local unit tests
testCompile 'junit:junit:4.12'
testCompile 'org.mockito:mockito-all:1.10.19'
testCompile 'org.hamcrest:hamcrest-all:1.3'

// Android Testing Support Library's runner and rules
androidTestCompile 'com.android.support.test:runner:0.3'
androidTestCompile 'com.android.support.test:rules:0.3'

}

关于android - 在 Android 中,为什么我需要为 "test"sourceSet 使用 androidTestCompile?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32199094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com