Android Studio 简单的JunitTest

文章目录

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

开发环境

Android Studio 2.2

步骤

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

MainActivity 代码如下

 1public class MainActivity extends AppCompatActivity {
 2
 3    // Used to load the 'native-lib' library on application startup.
 4    static {
 5        System.loadLibrary("kikt-camera");
 6    }
 7
 8    @Override
 9    protected void onCreate(Bundle savedInstanceState) {
10        super.onCreate(savedInstanceState);
11        setContentView(R.layout.activity_main);
12
13        // Example of a call to a native method
14        TextView tv = (TextView) findViewById(R.id.sample_text);
15        tv.setText(stringFromJNI());
16    }
17
18    /**
19     * A native method that is implemented by the 'native-lib' native library,
20     * which is packaged with this application.
21     */
22    public native String stringFromJNI();
23
24    public void showTest() {
25        Log.d("MainActivity", stringFromJNI());
26    }
27}

github

这里直接创建 Test 文件

图片

点 ok 后 会生成一个文件

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

 1@RunWith(JUnit4.class)
 2public class MainActivityTest {
 3
 4    @Rule
 5    public ActivityTestRule<MainActivity> rule = new ActivityTestRule<>(MainActivity.class);
 6
 7    @Test
 8    public void stringFromJNI() throws Exception {
 9        MainActivity activity = rule.getActivity();
10        TextView textView = (TextView) activity.findViewById(R.id.sample_text);
11        String s = textView.getText().toString();
12        Log.d("MainActivityTest", s);
13        Log.d("MainActivityTest", activity.stringFromJNI());
14    }
15
16}

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

这里可以直接点击运行 test 了

图片

图片

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

图片

后记

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