`
yuyanshan
  • 浏览: 49306 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

转:如何运行Android sdk sample中的单元测试

阅读更多
Android 1.5_r1的release notes中专门提到了ADT0.9对于JUnit支持的改进,对于崇尚TDD(测试驱动开发)的人来说这无疑是一个好消息,今天就抽点时间说说 Android 1.5中JUnit集成相关的要点吧。

  配置完1.5的SDKADT0.9,运行第一个1.5的sample的时候我就看到Run as中多出了一个 “Android JUnit Test”的选项(以前是在Debug中)。

  就先来看一看如何把Sample中的test case跑起来吧。

  (多谢Zhao的blog上关于在Android 1.5 pre中运行APIDemo测试的总结)

  第1步,新建一个Android项目,选择“create project from existing source”,并把路径指向android-sdk-1.5/platforms/android-1.5/samples/ApiDemos

  第2步,再新建一个Android项目,依然通过“create project from existing source”的方式,这次把路径指向android-sdk-1.5/platforms/android-1.5/samples/ApiDemos/tests

  这时候ADT会报错,因为它无法找到APIDemo项目。右键,选择Properties,在Java Build Path –> Projects中添加APIDemo项目即可。

  第3步,以“Android Application”方式运行第一个项目(注意正确设置AVD,第一次运行程序时,选中项目单击右键àRun AsàOpen Run DialogàTarget, 选中所用的AVD),APIDemo将被安装到模拟器。

  第4步,以“Android Application”方式运行第二个项目(注意正确设置AVD,第一次运行程序时,选中项目单击右键àRun AsàOpen Run DialogàTarget, 选中所用的AVD),APIDemo Test将被安装到模拟器。

  第5步,现在,我们可以通过Dev Tools中的Instrumentation来执行APIDemo Test了。找到 “Dev tools”à “Instrumentation”中的”Tests for API Demos。”,点击即可开始测试。

  这时,通过LogCat即可看到测试结果。

  
I/instrumentation( 773): INSTRUMENTATION_STATUS_CODE: 1

  I/TestRunner( 780): finished: testAndroidTestCaseSetupProperly(com.example.android.apis.view.Focus2AndroidTest)

  I/TestRunner( 780): passed: testAndroidTestCaseSetupProperly(com.example.android.apis.view.Focus2AndroidTest)

  I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: stream=。

  I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: test=testAndroidTestCaseSetupProperly

  I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: class=com.example.android.apis.view.Focus2AndroidTest

  I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: current=22

  I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: numtests=22

  I/instrumentation( 773): INSTRUMENTATION_STATUS_RESULT: id=InstrumentationTestRunner

  I/instrumentation( 773): INSTRUMENTATION_STATUS_CODE: 0

  I/instrumentation( 773): INSTRUMENTATION_RESULT: stream=

  I/instrumentation( 773): Test results for InstrumentationTestRunner=.........。.

  .........。.

  I/instrumentation( 773): Time: 12.212

  I/instrumentation( 773):

  I/instrumentation( 773): OK (22 tests)

  除了通过Dev Tools来执行单元测试,我们还有另外两种方法:

  1、通过ADT,在eclipse中执行测试

  在eclipse中选中test项目,直接Run As “Android JUnit Test”既可以,测试结果会以图形化的方式返回。

  2、通过sdb shell命令执行测试

  在命令行中执行 adb shell am instrument -w com.example.android.apis.tests/android.test.InstrumentationTestRunner 命令

  其中,com.example.android.apis.tests是APIDemo Test所在的package。

  那么,我们如何创建自己的test项目呢?

  大致的步骤如下:

  1、新建一个普通的Android项目,比如项目名为Foo,Package为com.foo.bar

  2、新建一个Test项目,注意把Package填成com.foo.bar.tests,项目名任意,比如FooTest,Application name任意

  3、在FooTest项目的Build Path中添加Foo项目

  4、参照APIDemo Test项目的manifext.xml来修改FooTest项目的manifest.xml

  5、编写TestCase(至于测试代码的编写,还在学习中)

分享到:
评论

相关推荐

    vuforia-sdk-sample-android-8.1.zip

    6. **优化和测试**:对应用进行性能优化,确保在各种Android设备上运行良好,并进行多方位的测试以保证用户体验。 总之,“vuforia-sdk-sample-android-8.1.zip”提供了全面的Vuforia AR开发资源,无论你是新手还是...

    android-24 sdk resource codes

    SDK中的sample资源是实际应用中的实例,它们展示了如何在实践中使用Android API。这些样本涵盖了从基础功能到复杂交互的各种情况,包括活动管理、服务、广播接收器、内容提供者等。通过分析这些样例,开发者可以...

    android-ad-sdk-native-sample:Domob Android 广告 SDK 原生示例

    5. **测试**:在发布前进行充分的测试,确保广告在各种设备和Android版本上都能正常显示和运行。 通过这个"android-ad-sdk-native-sample-master"压缩包,开发者可以获得一个完整的示例项目,参考其中的代码和配置...

    wechat_sdk_sample_android.zip_android_android 回调_wechat_微信支付

    这个`wechat_sdk_sample_android.zip`包含了示例代码,帮助开发者理解如何在Android应用中集成微信支付功能,包括下单、发起支付请求以及处理支付回调。以下是关于这个主题的详细知识点: 1. **微信支付SDK介绍**:...

    Android代码-effective_android_sample

    《Effective Android Sample》是一个基于Android平台的示例项目,它源于知名的电子书籍,旨在帮助开发者理解和实践《Effective Android》一书中提出的各种最佳实践和编程技巧。这个项目通过实际的代码示例,展示了...

    aptfit-android-sample,.zip

    【标题】:“aptfit-android-sample.zip”是一个包含开源项目的压缩包,主要展示了如何在Android平台上使用MapFit SDK。这个示例项目旨在为开发者提供一个实际的环境,以便于理解和学习MapFit SDK在房地产应用中的...

    sample-apps-android-sdk20:Android示例,需要Android SDK 20

    【标题】"sample-apps-android-sdk20:Android示例,需要Android SDK 20" 指的是一系列基于Android平台的示例应用程序,这些示例是为使用Android SDK版本20(即Android 4.4 KitKat)设计的。这个项目可能是为了帮助...

    Android-SDK-Sample-App:示例应用程序演示了使用Android SDK的不同方法

    Android SDK是开发Android应用的基础工具集,包含了构建、调试、运行Android应用所需的所有组件。它提供了API库、开发工具、模拟器等,使得开发者能够编写、测试和优化应用程序。在这个示例中,我们可以通过源代码...

    android-sample:Android示例应用程序

    开发者可以通过阅读和运行这些示例,来深入理解Android SDK中的各种API和最佳实践。 1. **Java**: 标签中的"Java"表明这些示例是使用Java编程语言编写的。Java是Android应用开发的官方语言之一(另一个是Kotlin),...

    aws-android-sample:aws android 的示例代码

    AWS Android Sample是一个专门为Android开发者设计的项目,展示了如何在Android应用程序中集成Amazon Web Services(AWS)。这个项目提供了详细的示例代码,帮助开发者了解如何利用AWS的各种服务,如S3(Simple ...

    run-android-sdk-sample.doc

    本文档将详细介绍如何在Android SDK中实现微信分享功能,特别是向好友和朋友圈发送内容的具体步骤。 #### 二、环境搭建与准备工作 1. **开发环境准备**: - **Android Studio**:确保安装了最新版本的Android ...

    魅族M8sdk的sample

    使用魅族M8sdk进行开发,开发者需要安装特定的IDE(如Eclipse或Android Studio),设置SDK路径,并配置模拟器或连接真实的魅族M8设备进行调试。同时,了解和遵循魅族的开发指南和API文档是至关重要的。 5. 测试与...

    optimizely-android-sample:开始使用 Optimizely AB 测试 SDK 的示例 Android 项目

    在Android平台上,Optimizely提供了SDK,使得开发者能够轻松地集成A/B测试到他们的应用中。"optimizely-android-sample"是一个示例项目,旨在帮助开发者了解如何开始使用Optimizely的AB测试SDK。 首先,我们需要...

    Sample5_6.zip_DEMO_Sample5__android_安卓

    11. **单元测试与Mockito**:学习如何编写单元测试,使用Mockito模拟对象,确保代码质量。 12. **Android Studio IDE**:熟悉IDE的使用,包括代码调试、性能分析、热重载等功能。 13. **Android Jetpack组件**:...

    android-15 platforms

    4. **系统映像(System Images)**:用于在模拟器中运行API级别15的Android系统,开发者可以在模拟环境中测试应用。 5. **开发工具(Development Tools)**:包括AAPT(Android Asset Packaging Tool)、dx(字节码...

    Android Training官方课程的demo源代码

    10. **测试与调试**:Android Training也涵盖了单元测试、UI测试和 Espresso测试框架的使用,帮助开发者确保应用的质量。 11. **性能优化**:示例代码还会涉及内存管理、CPU使用率优化、布局性能分析,以及使用...

    android应用测试与调试实战第一章.pdf

    - **范围**: 本章重点介绍基于Android SDK的应用进行自动化测试的方法。对于涉及到Native层的测试(即Android NDK应用的测试),则会在后续章节(例如第9章)中进行详细介绍。 #### 二、Android开发环境搭建 - **...

    android 贪吃蛇改进版

    3. **SDK Manager**: 使用SDK Manager安装所需的Android SDK版本(本例中为android-10),同时不要忘记安装Sample代码,这将作为开发过程中的参考。 4. **Android虚拟设备(AVD)**: 创建一个与所选SDK版本相匹配的...

    eclipse下用gvr-android-sdk实现vr全景图

    在本文中,我们将深入探讨如何在Eclipse环境中利用Google的GVR-Android-SDK来创建和展示VR(虚拟现实)全景图。Eclipse是Android开发者常用的一款集成开发环境,而GVR-Android-SDK则是Google提供的一个强大的工具,...

    [android]android自动化测试九之monkeyRecord

    在Android开发过程中,自动化测试是确保应用质量与稳定性的重要环节。MonkeyRecord是Android SDK提供的一种自动化测试工具,它能够帮助开发者录制用户在设备上的操作,然后回放这些操作以进行功能测试。这篇博客"...

Global site tag (gtag.js) - Google Analytics