gpt4 book ai didi

android - 在模块 jetified-hamcrest-core-1.3.jar 中发现重复的类 org.hamcrest.BaseDescription

转载 作者:行者123 更新时间:2023-12-03 23:50:15 53 4
gpt4 key购买 nike

安卓工作室 3.6

应用程序/build.gradle:

 androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'com.azimolabs.conditionwatcher:conditionwatcher:0.2'
// Espresso framework
androidTestImplementation "androidx.test.espresso:espresso-core:$espresso_version"
androidTestImplementation "androidx.test.espresso:espresso-intents:$espresso_version"
androidTestImplementation "androidx.test.espresso:espresso-contrib:$espresso_version"
androidTestImplementation 'org.hamcrest:hamcrest-junit:2.0.0.0'

// UI Automator framework
androidTestImplementation 'androidx.test.uiautomator:uiautomator:2.2.0'
androidTestImplementation 'com.squareup.okhttp3:mockwebserver:3.8.0'

// for test fragments
debugImplementation 'androidx.fragment:fragment-testing:1.2.0-rc02'

testImplementation 'junit:junit:4.12'
testImplementation 'com.nhaarman:mockito-kotlin-kt1.1:1.5.0'

在 gradle.properties 中:
android.useAndroidX=true
android.enableJetifier=true

这是我的 Espresso 仪器测试:
import okhttp3.mockwebserver.MockWebServer
import org.junit.After
import org.junit.Before
import org.junit.Rule
import org.junit.Test
import org.hamcrest.text.MatchesPattern
import org.junit.runner.RunWith

@RunWith(AndroidJUnit4::class)
class FeedbackActivityTransportTest {
@Test
fun buttonSend_click_checkRequest() {
val request = mockServer.takeRequest();
assertEquals("POST", request.method)
assertThat(
request.body.toString(),
MatchesPattern.matchesPattern("(\"feedback.*\\\"type\\\":2\"))")
)
}

但我得到错误:
Duplicate class org.hamcrest.BaseDescription found in modules jetified-hamcrest-core-1.3.jar (org.hamcrest:hamcrest-core:1.3) and jetified-java-hamcrest-2.0.0.0.jar (org.hamcrest:java-hamcrest:2.0.0.0)
Duplicate class org.hamcrest.BaseMatcher found in modules jetified-hamcrest-core-1.3.jar (org.hamcrest:hamcrest-core:1.3) and jetified-java-hamcrest-2.0.0.0.jar (org.hamcrest:java-hamcrest:2.0.0.0)
Duplicate class org.hamcrest.Condition found in modules jetified-hamcrest-core-1.3.jar (org.hamcrest:hamcrest-core:1.3) and jetified-java-hamcrest-2.0.0.0.jar (org.hamcrest:java-hamcrest:2.0.0.0)
Duplicate class org.hamcrest.Condition$1 found in modules jetified-hamcrest-core-1.3.jar (org.hamcrest:hamcrest-core:1.3) and jetified-java-hamcrest-2.0.0.0.jar (org.hamcrest:java-hamcrest:2.0.0.0)

最佳答案

的排除君特 并优先考虑 Hamcrest 将禁用使用 JUnit 执行单元测试的机会!这就是为什么您会在 Android Studio 中收到错误:Cannot resolve '@Before' or '@Test'在进行单元测试时。正确的方法是替换 Hamcrest JUnit !
将此代码放入 build.gradle 应用 等级:

configurations.all {
resolutionStrategy.dependencySubstitution {
substitute module('org.hamcrest:hamcrest-core:1.1') with module('junit:junit:4.10')
}
}

关于android - 在模块 jetified-hamcrest-core-1.3.jar 中发现重复的类 org.hamcrest.BaseDescription,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59085448/

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