Android Instrumentation测试框架使用示例

2018-05-24  本文已影响0人  AlanFu

Instrumentation 是Android studio自带的测试框架,可使用它进行Android应用的单元测试和自动化测试。
Instrumentation则是针对Android系统的JUnit扩展。也就是说对于不涉及Android组件的项目,可直接通过JUnit进行单元测试,而对于调用了Android组件的项目可通过Instrumentation进行单元测试或自动化测试。

下文只是使用的简单示例。

testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
        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!");
            }
        });
//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());
    }
}
参考文章

https://developer.android.com/training/testing/unit-testing/instrumented-unit-tests

示例下载地址

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

上一篇 下一篇

猜你喜欢

热点阅读