版权声明:本文为博主原创文章,未经博主允许不得转载。 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比较简单,没有什么多余的东西,仅做参考