Instrumentation 是Android studio自带的测试框架,可使用它进行Android应用的单元测试和自动化测试。
Instrumentation则是针对Android系统的JUnit扩展。也就是说对于不涉及Android组件的项目,可直接通过JUnit进行单元测试,而对于调用了Android组件的项目可通过Instrumentation进行单元测试或自动化测试。
下文只是使用的简单示例。
- 1 使用AndroidStudio创建一个新项目,示例为TestAppDemo
- 2 检查Module下的build.gradle下是否配置如下
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
- 3 在MainActivity#onCreate编写如下示例代码:
textView =findViewById(R.id.text_view);
button = findViewById(R.id.button);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
textView.setText("Hello android!");
}
});
- 4 在android Test目录下编写下面测试代码
//MainActivity 要注意名字一致。
public class MainActivityTest extends ActivityInstrumentationTestCase2<MainActivity> {
private Button button;
private TextView textView;
private Activity mainActivity;
public MainActivityTest(){
super(MainActivity.class);
}
@Override
protected void setUp() throws Exception {
super.setUp();
mainActivity=getActivity();
//id名字注意与xml一致
textView = mainActivity.findViewById(R.id.text_view);
button = mainActivity.findViewById(R.id.button);
}
public void testInit(){
assertEquals("222", textView.getText().toString());
}
public void testButtonClick() throws Exception{
mainActivity.runOnUiThread(new Runnable() {
@Override
public void run() {
button.performClick();
}
});
Thread.sleep(1000);
assertEquals("Hello android!",textView.getText().toString());
}
}
-
5 在MainActivityTest 右键run .正常会出现类似下图结果
运行结果.png
参考文章
https://developer.android.com/training/testing/unit-testing/instrumented-unit-tests













网友评论