jau*_*ebd 7 android android-espresso
我有一个android项目,我使用espresso来定义测试.这一切都运行良好,但在升级到AppCompat 23.2.1(从AppCompat 23.0.1)后,测试的执行总是崩溃.
我的build.gradle依赖项:
dependencies {
// Ok Config
compile fileTree(dir: 'libs', include: ['*.jar'])
testCompile 'junit:junit:4.12'
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.android.support:support-annotations:23.2.1'
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2'
androidTestCompile 'com.android.support.test:runner:0.5'
androidTestCompile 'com.android.support:support-annotations:23.2.1'
androidTestCompile 'com.android.support.test.espresso:espresso-intents:2.2.2'
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:2.2.2'
Run Code Online (Sandbox Code Playgroud)
该项目编译并执行正常,但是当我尝试运行测试时,它会因此错误而崩溃:
java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity
Run Code Online (Sandbox Code Playgroud)
尽管错误的文本我使用Theme.AppCompat的后代主题,所以我根本不理解错误消息.
有人有同样的问题吗?这似乎与appcompat和espresso的依赖关系有任何问题,但我无法找到它并解决我的问题.
有任何想法吗?
谢谢!
jau*_*ebd 18
我认为主要问题是espresso模块使用的支持库与我项目中使用的支持库不同,因此当我尝试运行测试时,测试会崩溃.
最后我解决了它,除了所有espresso模块的支持库,强制他们使用我的项目的支持库.现在一切都很好.希望这可以帮助任何人!
我的gradle看起来像这样:
compile 'com.android.support:appcompat-v7:23.2.1'
compile 'com.android.support:design:23.2.1'
compile 'com.android.support:support-annotations:23.2.1'
androidTestCompile ('com.android.support.test:runner:0.5') {
exclude group: 'com.android.support'
}
androidTestCompile ('com.android.support.test:rules:0.5') {
exclude group: 'com.android.support'
}
androidTestCompile ('com.android.support.test.espresso:espresso-core:2.2.2') {
exclude group: 'com.android.support'
}
androidTestCompile ('com.android.support.test.espresso:espresso-contrib:2.2.2') {
exclude group: 'com.android.support'
}
androidTestCompile ('com.android.support.test.espresso:espresso-intents:2.2.2') {
exclude group: 'com.android.support'
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2779 次 |
| 最近记录: |