【Android论文栏目提醒】:网学会员鉴于大家对Android论文十分关注,论文会员在此为大家搜集整理了“如何在android中进行单元测试 - 操作系统”一文,供大家参考学习
如何在
android中进行单元测试 在开发过程中无论是什么语言如果能够熟练使用单元测试提高的效率那是大大地当测试或某相关的小姑娘报bug的时候站在你身边用无辜的大眼睛对你说“公子有地方出问题”正要打开相关的应用程序或者页面重现那个问题时你大臂一挥“小姐不用那么麻烦看在下的”打开单元测试一跑三下两下搞定问题那些连myeclipse都不知道怎么拼的MM看到这一幕能不五体投地吗如果公司都是大老爷们那首先要做的就和老板提意见然后再看下文。
android的单元测试很简单首先新建一个
android project。
然后新建一个
android test projectFile--Project--
Android--
Android Test Project。
然后会弹出一个对话框“New
Android Test Project”填入工程名在“an existing
Android Project”中选择要单元测试的工程其实就和那个东西挂钩理解为母体和寄生虫的关系也未尝不可。
当选择好
Android Project工程之后下面的那些包名之类的自然就自动填好了。
点“finish”一个
android test project就OK了--如果不是太倒霉的话。
android test project工程下的目录结构和
android project差不多只是src下的package下多一个test包。
接下来就开始创建junit了像平常添加新类那样右击包New--Junit Test Case接下来就填junit名字选择“New Junit3.0 Test”Junit4.0没试过但由于某些原因Junit4不一定能体现出Junit的特性来一会说现在不说伏笔很重要我的地盘我做主...在下面吧setUp勾上。
“finish”现在就可以写测试 代码具体的实例代码如下 import java.util.ArrayList import java.util.HashMap import java.util.List import java.util.Map import com.helloAndroid.Books import com.helloAndroid.HelloAndroid import com.helloAndroid.R import
android.R.xml import
android.test.ActivityInstrumentationTestCase2 import
android.widget.ListView import
android.widget.SimpleAdapter public class Junit3 extends ActivityInstrumentationTestCase2 ListView listView Books books public Junit3 supercom.helloAndroid.HelloAndroid Books.class // TODO Auto-generated constructor stub protected void setUp throws Exception super.setUp books this.getActivity //添加testPreconditions方法检查初始化环境只执行一次 public void testPreconditions //assertNotNullinteger //添加单元测试 public void testText //assertEqualsresourceStringStringmView.getText List resourceName new ArrayList Map map new HashMap map.putline1 测试Junit map.putimg R.drawable.weikexue resourceName.addmap //listView ListViewbooks.findViewByIdcom.helloAndroid.R.id.l SimpleAdapter notes new SimpleAdapter books resourceName R.layout.rows new Stringline1 img new intR.id.text1 R.id.img //books.setListAdapternotes 我还在你身边别着急我会解释。
必须继承这个类ActivityInstrumentationTestCase2通过泛型把要单元测试的目标类联系起来ActivityInstrumentationTestCase2Books就是目标类setUp 方法是自动生成因为刚才在创建的时间把“setUp”的选项卡勾上了如果没勾上的话就重写一个然后写两个方法testPreconditions和testTexttestText是单元测试的执行类testPreconditions不知道具体干嘛的千万切记要把这三个方法都写出来否则报出来的错你去google都搜不到解决方法。
由于必须得有这三个类而Junit4里是通过annotation的方式标注测试的行为
android test project中用junit4可能会达不到预期效果没测试过反正在junit里少那三个方法也是不行的这是实践过的。
最简单的单元测试就这样了。
android的单元测试也是有一个很大的框架ActivityInstrumentationTestCase2上面也继承了好多层具体的以后再聊。