Android Studio 简单的JunitTest

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_28478281/article/details/52891347

最近使用AndroidStudio的时候想要使用单元测试
因为有一些数据需要Activity的支持,
从网上找了一些教程,但自己使用时感觉不理想,发现都是一些业务逻辑的类,很少有直接针对Activity的单元测试
所以想自己写一个简单的demo

开发环境

Android Studio 2.2

步骤

首先新建工程
然后会自动生成MainActivity

MainActivity代码如下

public class MainActivity extends AppCompatActivity {

    // Used to load the 'native-lib' library on application startup.
    static {
        System.loadLibrary("kikt-camera");
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        // Example of a call to a native method
        TextView tv = (TextView) findViewById(R.id.sample_text);
        tv.setText(stringFromJNI());
    }

    /**
     * A native method that is implemented by the 'native-lib' native library,
     * which is packaged with this application.
     */
    public native String stringFromJNI();

    public void showTest() {
        Log.d("MainActivity", stringFromJNI());
    }
}

这里写图片描述
这里直接创建Test文件
这里写图片描述
点ok后
会生成一个文件

我在这里对代码进行了修改
修改如下

@RunWith(JUnit4.class)
public class MainActivityTest {

    @Rule
    public ActivityTestRule<MainActivity> rule = new ActivityTestRule<>(MainActivity.class);

    @Test
    public void stringFromJNI() throws Exception {
        MainActivity activity = rule.getActivity();
        TextView textView = (TextView) activity.findViewById(R.id.sample_text);
        String s = textView.getText().toString();
        Log.d("MainActivityTest", s);
        Log.d("MainActivityTest", activity.stringFromJNI());
    }

}

这里通过rule.getActivity()可以直接拿到Activity对象
可以获取到View对象
接着就可以将测试的相关所有逻辑写在里面了

这里可以直接点击运行test了
这里写图片描述

这里写图片描述

我这里只是做了几个日志输出,可以从Android monitor里面看到日志输出
这里写图片描述

后记

demo比较简单,没有什么多余的东西,仅做参考

猜你喜欢

转载自blog.csdn.net/qq_28478281/article/details/52891347