Android中junit测试有2种实现方式
第1种:一般Android工程的实现方式
1.在清单文件中添加2项内容
首先在AndroidManifest.xml中加入下面红色代码:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="cn.itcast.action“ android:versionCode="1“ android:versionName="1.0">
<application android:icon="@drawable/icon" android:label="@string/app_name">
<uses-library android:name="android.test.runner" />
....
</application>
<uses-sdkandroid:minSdkVersion="6" />
<instrumentation android:name="android.test.InstrumentationTestRunner"
android:targetPackage="cn.itcast.action" android:label="Testsfor My App" />
</manifest>
上面targetPackage指定的包要和应用的package相同,即指定要测试哪个应用。
2.编写单元测试代码
新建一个类继承AndroidTestCase类,在这个类中调用assertEquals等断言函数。
assertEquals(期望结果,实际返回值);
选择要测试的方法,右键点击“Run As”--“Android Junit Test” ,在Outline中点击亦可。
第2种:直接新建Android测试工程
文件----新建------Project
新建一个Android Test Project
选择要测试的Android工程
那么在新建好的工程中,清单文件就已经自动配置好了。其它的操作和第1种的一样。
新建测试工程目的是可以引用到原工程中的所有的类,然后再新建junit单元测试,简直就是perfect!!!!!!!!!!!!
如果测试的类要用到Context,测试类要继承AndroidTestCase,它里面有mContext可以直接引用 !!!!!!!!!!!!
Android应用程序的monkey测试
就是在应用程序里随意的点击指定的次数
adb shell
monkey -p 包名 次数
Log日志打印类
在实际开发中,会用到很多的Log打印输出,但是等程序写完之后,不可能挨个去清除Log语句。
那该怎么办呢?
定义一个Log的包装工具类
LogUtils{
boolean logEnable = true; //不想Log打印时,将之改为false即可。
public void v(String tag,String msg)
{
if(logEnable)
{
Log.v(tag,msg);
}
}
...其它的4个不同的输出依次类推。
}
Debug
F6:下一行
F8:下一个断点
如果对自己的代码很有自信,觉得完全没有问题,但实际调试结果不尽人意,那就重启工具或电脑吧。
本文转自屠夫章哥 51CTO博客,原文链接:http://blog.51cto.com/4259297/1675133,如需转载请自行联系原作者