温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android中怎么实现单元测试

发布时间:2021-06-26 15:11:07 阅读:146 作者:Leah 栏目:移动开发
Android开发者专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

Android中怎么实现单元测试,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

Xml代码

< ?xml version="1.0" encoding="utf-8"?>   < manifest xmlns:android="http://schemas.Android.com/apk/res/Android"   package="your.tests.package">   < application>   < uses-library Android:name="Android.test.runner" />   < /application>   < instrumentation Android:name="Android.test.InstrumentationTestRunner"   Android:targetPackage="your.work.package"   Android:label="Tests for Api Demos."/>   < /manifest>   < ?xml version="1.0" encoding="utf-8"?> < manifest xmlns:android="http://schemas.Android.com/apk/res/Android" package="your.tests.package"> < application> < uses-library Android:name="Android.test.runner" /> < /application> < instrumentation Android:name="Android.test.InstrumentationTestRunner" Android:targetPackage="your.work.package" Android:label="Tests for Api Demos."/> < /manifest> 

那么就可以做Android单元测试了,给出下面的实例;

1.用AndroidTestCase; 

Java代码

public class SdcardTest extends AndroidTestCase {   public void test1(){   // Log.v()   File f=new File("/sdcard");   String[] l=f.list();   this.assertTrue(f.exists());   this.assertTrue(f.isDirectory());   this.assertTrue(f.list().length>0);   }   }   public class SdcardTest extends AndroidTestCase {  public void test1(){  // Log.v()  File f=new File("/sdcard");  String[] l=f.list();  this.assertTrue(f.exists());  this.assertTrue(f.isDirectory());  this.assertTrue(f.list().length>0);  }  }

2.用ActivityUnitTestCase 

Java代码 

public class ForwardingTest extends ActivityUnitTestCaseForwarding> {   private Intent mStartIntent;   private Button mButton;   public ForwardingTest() {   super(Forwarding.class);   }   @Override   protected void setUp() throws Exception {   super.setUp();   // In setUp, you can create any shared test data, or set up mock components to inject   // into your Activity. But do not call startActivity() until the actual test methods.   mStartIntent = new Intent(Intent.ACTION_MAIN);   }   /**   * The name 'test preconditions' is a convention to signal that if this   * test doesn't pass, the test case was not set up properly and it might   * explain any and all failures in other tests. This is not guaranteed   * to run before other tests, as junit uses reflection to find the tests.   */   @MediumTest   public void testPreconditions() {   startActivity(mStartIntent, null, null);   mButton = (Button) getActivity().findViewById(R.id.go);   assertNotNull(getActivity());   assertNotNull(mButton);   }   /**   * This test demonstrates examining the way that activity calls startActivity() to launch   * other activities.   */   @MediumTest   public void testSubLaunch() {   Forwarding activity = startActivity(mStartIntent, null, null);   mButton = (Button) activity.findViewById(R.id.go);   // This test confirms that when you click the button, the activity attempts to open   // another activity (by calling startActivity) and close itself (by calling finish()).   mButton.performClick();   assertNotNull(getStartedActivityIntent());   assertTrue(isFinishCalled());   }   /**   * This test demonstrates ways to exercise the Activity's life cycle.   */   @MediumTest   public void testLifeCycleCreate() {   Forwarding activity = startActivity(mStartIntent, null, null);   // At this point, onCreate() has been called, but nothing else   // Complete the startup of the activity   getInstrumentation().callActivityOnStart(activity);   getInstrumentation().callActivityOnResume(activity);   // At this point you could test for various configuration aspects, or you could   // use a Mock Context to confirm that your activity has made certain calls to the system   // and set itself up properly.   getInstrumentation().callActivityOnPause(activity);   // At this point you could confirm that the activity has paused properly, as if it is   // no longer the topmost activity on screen.   getInstrumentation().callActivityOnStop(activity);   // At this point, you could confirm that the activity has shut itself down appropriately,   // or you could use a Mock Context to confirm that your activity has released any system   // resources it should no longer be holding.   // ActivityUnitTestCase.tearDown(), which is always automatically called, will take care   // of calling onDestroy().   }   } 

关于Android中怎么实现单元测试问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI

开发者交流群×