如果你在使用Espresso时发生了错误,而你恰好看到了我的这篇文章,可以看看下面有没有你遇到的问题。
一: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
网友评论