如果你在使用Espresso時發(fā)生了錯誤,而你恰好看到了我的這篇文章,可以看看下面有沒有你遇到的問題。
一:Error:Conflict with dependency 'com.android.support:support-annotations'. Resolved versions for app (26.0.2) and test app (23.1.1) differ. See http://g.co/androidstudio/app-test-app-conflict for details.
解決:
build.gradle文件中的依賴改成下面這樣子
androidTestCompile 'com.android.support.test.espresso:espresso-core:2.2.2', {
? ? ? ? exclude group: 'com.android.support', module: 'support-annotations'
}
二:編寫.java文件,找不到@RunWith()注解類
解決:
build.gradle文件中junit依賴要用testCompile,但不能用junit的debugCompile依賴
三:java.lang.RuntimeException: No activities found. Did you forget to launch the activity by calling getActivity() or startActivitySync or similar?
解決:
加@Rule注解到這句上:public ActivityTestRule mActivityTestRule = new ActivityTestRule<>(<YourActivity>.class);
四:Test running failed: Unable to find instrumentation info for: ComponentInfo{<yourpackage>/android.support.test.runner.AndroidJUnitRunner}
解決:
build.gragle文件中找到加這句(在android{}中):android {
????defaultConfig {
????????testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
????}
}
五:android.support.test.espresso.NoActivityResumedException: No activities in stage RESUMED. Did you forget to launch the activity. (test.getActivity() or similar)?
解決:手機屏幕必須保持打開
六:junit.framework.AssertionFailedError: No tests found in <yourtest>
解決:
build.gragle文件中找到加這句(在android{}中):android {
????defaultConfig {
????????testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
????}
}
最后附上Espresso的官方文檔地址:https://developer.android.com/training/testing/espresso/setup