Android Instrumentation测试框架使用示例

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 {
    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

示例下载地址

https://pan.baidu.com/s/1zM3i-bhEuRBFr_N4BpIQ-w

你可能感兴趣的:(Android Instrumentation测试框架使用示例)