介始一下Android 单元测试框架类----ActivityInstrumentationTestCase2

 

有时通过单元测试,可以很快检测出自已的代码有没有出错误,是不是按自已之前的设计思路。提早检测出不必要的编码问题。在Android中,我们用ActivityInstrumentationTestCase2,这个测试可以很好地帮助我们对UI框架中的属性和方法进行检测。

 

不必多说。新建两个工程。一个是工程类,还有一个就是我们这里要说的Test框架工程。

第一个工程类不必多说,我们先会创建。下面我讲一下第二个工程。也就是Test Project.

 

在这个工程下面,新建一个SmartRemind2AlertTest类。这个类主要负责检测第一个工程中的SmartRemind2Alert类。里面的UI控件,以及一些方法是否正确,这必多说,贴上代码。如下所示:

 

package com.smart.remind.alert.test; import android.test.ActivityInstrumentationTestCase2; import android.widget.TextView; import com.smart.remind.alert.SmartRemind2Alert; public class SmartRemind2AlertTest extends ActivityInstrumentationTestCase2 { private SmartRemind2Alert mActivity; TextView mView; String resourceString; public SmartRemind2AlertTest() { // super(activityClass); super("com.smart.remind.alert",SmartRemind2Alert.class); //("com.example.helloandroid", // TODO Auto-generated constructor stub } @Override protected void setUp() throws Exception { super.setUp(); mActivity = this.getActivity(); mView = (TextView) mActivity.findViewById(com.smart.remind.alert.R.id.textview1); resourceString = mActivity.getString(com.smart.remind.alert.R.string.hello); } public void testPreconditions() { assertNotNull(mView); } public void testText() { assertEquals(resourceString, (String) mView.getText()); } }

 

 

里面的代码比较简单。但要注意构造函数。

 

super("com.smart.remind.alert",SmartRemind2Alert.class);

如果包写错,就不能够找到该SmartRemind2Alert类了。这个测试类中有setUp等方法。

我自已写了两个类testPreconditions,testText

 

下面我主要说明一个第二个工程中的AndroidManifest.xml文件。代码如下所示:

 

 

当然这个由eclipse自动生成。但是我们也要了解里面的基本意义。

      android:name="android.test.InstrumentationTestRunner" />
   
   
   
   

 

通过上面的设置,你就可以启动这个SmartRemind2AlertTest 了。

 

实现效果如下所示:

 


 

 

可以发现,有两个方法,一个测试通过,一个测试失败。

 

失败的原因是:

 

两个字符串不一致。可以很快发现问题,并得到解决

 

你可能感兴趣的:(Android智能手机开发,android,单元测试,框架,application,constructor,exception)