这里简单介绍以下 Espresso 的 设置
设置测试环境
测试的时候,为了避免影响,建议在开发者设置里面关闭系统动画
![](https://img.haomeiwen.com/i720880/cf10baf15a105f9a.png)
添加 Espresso 的依赖
注意添加 google 的仓库。
dependencies {
// AndroidJUnitRunner and JUnit Rules
androidTestCompile 'com.android.support.test:runner:1.0.1'
androidTestCompile 'com.android.support.test:rules:1.0.1'
// Espresso dependencies
androidTestCompile 'com.android.support.test.espresso:espresso-core:3.0.1'
androidTestCompile 'com.android.support.test.espresso:espresso-contrib:3.0.1'
androidTestCompile 'com.android.support.test.espresso:espresso-intents:3.0.1'
androidTestCompile 'com.android.support.test.espresso:espresso-accessibility:3.0.1'
androidTestCompile 'com.android.support.test.espresso:espresso-web:3.0.1'
androidTestCompile 'com.android.support.test.espresso.idling:idling-concurrent:3.0.1'
// The following Espresso dependency can be either "compile"
// or "androidTestCompile", depending on your app's implementation
androidTestCompile 'com.android.support.test.espresso:espresso-idling-resource:3.0.1'
}
设置 单元测试的必备配置
在主 Module 下面的 android.defaultConfig 添加:
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
一个例子:
apply plugin: 'com.android.application'
android {
compileSdkVersion 26
defaultConfig {
applicationId "com.my.awesome.app"
minSdkVersion 15
targetSdkVersion 26
versionCode 1
versionName "1.0"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
}
}
dependencies {
// App's dependencies, including test
compile 'com.android.support:support-annotations:22.2.0'
// Testing-only dependencies
androidTestCompile 'com.android.support.test:runner:1.0.1'
androidTestCompile 'com.android.support.test.espresso:espresso-core:3.0.1'
}
添加第一个测试
Android Studio 中在主 Module 中创建这样的目录:
src/androidTest/java/com.example.package/
一个例子:
@RunWith(AndroidJUnit4.class)
@LargeTest
public class HelloWorldEspressoTest {
@Rule
public ActivityTestRule<MainActivity> mActivityRule =
new ActivityTestRule(MainActivity.class);
@Test
public void listGoesOverTheFold() {
onView(withText("Hello world!")).check(matches(isDisplayed()));
}
}
网友评论