在网络上找了半天,也没有找正确的Android的测试办法,最后还是自己琢磨出来的。以前就听我朋友说过,android毛病一堆,现在才体会到。 Android SDK 和 iphone SDK 比,就不是一个档次的东西。网上总是有人说,Android还年轻,要体谅。我可不同意,要知道,android都已经出了好几个版本了,而现在最新的 1.5版和iphone sdk的beta版都比不上。
先说说它的单元测试吧,基于1.5和eclipse。这里我说的是我的思路,有更加好的思路,欢迎指导。
我的方法:如果你要测试的不是Activity或者Service,就用AndroidTestCase;否则选择:ActivityUnitTestCase,ServiceTestCase。
在做单元测试以前,你需要创建一个新的项目,把要测试的项目包含到java build path中来。项目中的AndroidManifest.xml如下(这里假设你的your.test.package里面包含你的 tests,your.work.package包含被测试的类):
Xml代码
1. <?xml version="1.0" encoding="utf-8"?> 2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3. package="your.tests.package"> 4. <application> 5. <uses-library android:name="android.test.runner" /> 6. </application> 7. <instrumentation android:name="android.test.InstrumentationTestRunner" 8. android:targetPackage="your.work.package" 9. android:label="Tests for Api Demos."/> 10. 11. </manifest> |
那么就可以做测试了,给出下面的实例;
1.用AndroidTestCase;
Java代码
1. public class SdcardTest extends AndroidTestCase { 2. public void test1(){ 3. // Log.v() 4. File f=new File("/sdcard"); 5. String[] l=f.list(); 6. this.assertTrue(f.exists()); 7. this.assertTrue(f.isDirectory()); 8. this.assertTrue(f.list().length>0); 9. } 10. } |