配置gradle以使用JUnit,Mockito,Hamcrest和Espresso

 X53TEDDYWON_314 发布于 2022-12-12 20:18

我有一个Android项目,使用Mockito,Hamcrest和Espresso来帮助测试.

不管我用摇篮尝试构建文件,我得到NoSuchMethodErrororg.hamcrest.Matcher.anyOf,当我尝试做后运行我的测试gradle androidTestCompile.

这是我目前的配置:

dependencies {
    compile project(':GameCore')
    androidTestCompile files(
            'libs/espresso-1.1.jar',
            'libs/testrunner-1.1.jar',
            'libs/testrunner-runtime-1.1.jar'
    )
    androidTestCompile(
            'junit:junit:4.11',
            'org.mockito:mockito-core:1.10.0',
            'com.google.guava:guava:14.0.1',
            'com.squareup.dagger:dagger:1.1.0',
            'com.google.dexmaker:dexmaker:1.0',
            'com.google.dexmaker:dexmaker-mockito:1.0',
            'org.hamcrest:hamcrest-core:1.3',
            'org.hamcrest:hamcrest-library:1.3'
            )

我已经尝试重写Mockito和JUnit要求以排除Hamcrest,如下所示:

androidTestCompile('junit:junit:4.11') {
    exclude group: 'org.hamcrest'
}

但这没有任何区别.

GameCore项目是一个纯Java项目.它也依赖于JUnit和Mockito,但正如它们被指定的那样testCompile,我认为它们不应该干扰它们.

gradle dependencies这个'androidTestCompile`模块的输出是:

+--- junit:junit:4.11                                                               
|    \--- org.hamcrest:hamcrest-core:1.3
+--- org.mockito:mockito-core:1.10.0
|    +--- org.hamcrest:hamcrest-core:1.1 -> 1.3
|    \--- org.objenesis:objenesis:2.1
+--- com.google.guava:guava:14.0.1
+--- com.squareup.dagger:dagger:1.1.0
|    \--- javax.inject:javax.inject:1
+--- com.google.dexmaker:dexmaker:1.0
+--- com.google.dexmaker:dexmaker-mockito:1.0
|    +--- com.google.dexmaker:dexmaker:1.0
|    \--- org.mockito:mockito-core:1.9.5 -> 1.10.0 (*)
+--- org.hamcrest:hamcrest-core:1.3
\--- org.hamcrest:hamcrest-library:1.3
     \--- org.hamcrest:hamcrest-core:1.3

编辑

进一步调查了这个问题后,我发现espresso需要Hamcrest 1.1,但我也使用了assertThat,它位于Hamcrest 1.3中.Hamcrest 1.3没有espresso使用的anyOf方法.所以我想我被困了:)

撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有