在我向项目添加fragment-testing
依赖项之后:
// Testing dependencies
espressoVersion = '3.2.0-beta01'
testCoreVersion = '1.1.0'
runnerVersion = '1.1.0'
extJunitVersion = '1.1.0'
testRulesVersion = '1.1.0'
fragmentVersion = '1.1.0-alpha09'
orchestratorVersion = '1.1.0'
uiAutomatorVersion = '2.2.0'
junitVersion = '4.12'
mockitoVersion = '2.7.22'
robolectricVersion = '4.2.1'
liveDataTestingVersion = '1.1.0'
androidArchCoreTestingVersion = '2.0.0'
androidTestImplementation("androidx.test.espresso:espresso-core:$rootProject.ext.espressoVersion")
androidTestImplementation "androidx.test:core:$rootProject.ext.testCoreVersion"
androidTestImplementation("androidx.test:runner:$rootProject.ext.runnerVersion")
androidTestImplementation "androidx.test.ext:junit:$rootProject.ext.extJunitVersion"
androidTestUtil ("androidx.test:orchestrator:$rootProject.ext.orchestratorVersion")
androidTestImplementation("androidx.test.espresso:espresso-intents:$rootProject.ext.espressoVersion")
implementation "androidx.test.espresso:espresso-idling-resource:$rootProject.ext.espressoVersion"
androidTestImplementation "androidx.test.uiautomator:uiautomator:$rootProject.ext.uiAutomatorVersion"
testImplementation "junit:junit:$rootProject.ext.junitVersion"
androidTestImplementation("androidx.test:rules:$rootProject.ext.testRulesVersion")
// required if you want to use Mockito for unit tests
testImplementation "org.mockito:mockito-core:$rootProject.ext.mockitoVersion"
// required if you want to use Mockito for Android tests
androidTestImplementation "org.mockito:mockito-android:$rootProject.ext.mockitoVersion"
testImplementation "org.robolectric:robolectric:$rootProject.ext.robolectricVersion"
testImplementation "org.robolectric:shadows-multidex:$rootProject.ext.robolectricVersion"
// LiveData Testing utility
testImplementation "com.jraska.livedata:testing:$rootProject.ext.liveDataTestingVersion"
testImplementation "androidx.arch.core:core-testing:$rootProject.ext.androidArchCoreTestingVersion"
// Once https://issuetracker.google.com/127986458 is fixed this can be testImplementation
implementation ("androidx.fragment:fragment-testing:$rootProject.ext.fragmentVersion")
当我尝试构建androidTests
时会失败:
失败:构建失败,并出现异常。
出了什么问题: 无法确定任务':MyApp:mergeEsmartliveDebugAndroidTestResources'的依赖关系。
无法解决配置':MyApp:esmartliveDebugAndroidTestRuntimeClasspath'的所有任务依赖项。 无法解析androidx.test:core:1.1.0。 要求: 专案:MyApp 项目:MyApp> androidx.test.ext:junit:1.1.0 项目:MyApp> androidx.fragment:fragment-testing:1.1.0-alpha09 找不到满足版本限制的'androidx.test:core'版本: 依赖路径'MyApp:unspecified'->'androidx.test:core:1.1.0' 由于以下原因,约束路径'MyApp:unspecified'->'androidx.test:core:{严格地1.1.0}':esmartliveDebugRuntimeClasspath使用版本1.1.0 依赖路径'MyApp:unspecified'->'androidx.test.ext:junit:1.1.0'->'androidx.test:core:1.1.0' 依赖路径'MyApp:unspecified'->'androidx.test.espresso:espresso-intents:3.2.0-beta01'->'androidx.test:core:1.2.0-beta01' 依赖路径'MyApp:unspecified'->'androidx.fragment:fragment-testing:1.1.0-alpha09'->'androidx.test:core:1.1.0'
无法解析androidx.test:core:{严格为1.1.0}。 要求: 专案:MyApp 找不到满足版本限制的'androidx.test:core'版本: 依赖路径'MyApp:unspecified'->'androidx.test:core:1.1.0' 由于以下原因,约束路径'MyApp:unspecified'->'androidx.test:core:{严格地1.1.0}':esmartliveDebugRuntimeClasspath使用版本1.1.0 依赖路径'MyApp:unspecified'->'androidx.test.ext:junit:1.1.0'->'androidx.test:core:1.1.0' 依赖路径'MyApp:unspecified'->'androidx.test.espresso:espresso-intents:3.2.0-beta01'->'androidx.test:core:1.2.0-beta01' 依赖路径'MyApp:unspecified'->'androidx.fragment:fragment-testing:1.1.0-alpha09'->'androidx.test:core:1.1.0'
无法解析androidx.test:monitor:1.1.1。 要求: 项目:MyApp> androidx.test.ext:junit:1.1.0 找不到满足版本限制的'androidx.test:monitor'版本: 依赖路径'MyApp:unspecified'->'androidx.test.ext:junit:1.1.0'->'androidx.test:monitor:1.1.1' 依赖路径'MyApp:unspecified'->'androidx.test:runner:1.2.0-beta01'->'androidx.test:monitor:1.2.0-beta01' 依赖路径'MyApp:unspecified'->'androidx.test:core:1.2.0-beta01'->'androidx.test:monitor:1.2.0-beta01'
无法解析androidx.test:core:1.2.0-beta01。 要求: 项目:MyApp> androidx.test.espresso:espresso-intents:3.2.0-beta01 找不到满足版本限制的'androidx.test:core'版本: 依赖路径'MyApp:unspecified'->'androidx.test:core:1.1.0' 由于以下原因,约束路径'MyApp:unspecified'->'androidx.test:core:{严格地1.1.0}':esmartliveDebugRuntimeClasspath使用版本1.1.0 依赖路径'MyApp:unspecified'->'androidx.test.ext:junit:1.1.0'->'androidx.test:core:1.1.0' 依赖路径'MyApp:unspecified'->'androidx.test.espresso:espresso-intents:3.2.0-beta01'->'androidx.test:core:1.2.0-beta01' 依赖路径'MyApp:unspecified'->'androidx.fragment:fragment-testing:1.1.0-alpha09'->'androidx.test:core:1.1.0'
无法解析androidx.test:monitor:1.2.0-beta01。 要求: 项目:MyApp> androidx.test:runner:1.2.0-beta01 项目:MyApp> androidx.test:core:1.2.0-beta01 找不到满足版本限制的'androidx.test:monitor'版本: 依赖路径'MyApp:unspecified'->'androidx.test.ext:junit:1.1.0'->'androidx.test:monitor:1.1.1' 依赖路径'MyApp:unspecified'->'androidx.test:runner:1.2.0-beta01'->'androidx.test:monitor:1.2.0-beta01' 依赖路径'MyApp:unspecified'->'androidx.test:core:1.2.0-beta01'->'androidx.test:monitor:1.2.0-beta01'
不确定如何处理此类冲突...有人有同样的问题吗?
答案 0 :(得分:1)
这是一个快速的解决方案:
implementation ("androidx.fragment:fragment-testing:1.1.0-beta01",
exclude group: 'androidx.test', module: 'core'
})