Android开发2——创建测试项目

简介:

一、创建普通Android项目

 

二、在AndroidManifest.xml添加两个配置

 
  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android" 
  3.  package="cn.xy.app" android:versionCode="1" android:versionName="1.0"> 
  4.  <application android:icon="@drawable/icon" android:label="@string/app_name"> 
  5.  
  6.   <!-- 引入单元测试依赖库 --> 
  7.   <uses-library android:name="android.test.runner" /> 
  8.  
  9.   <activity android:name=".MainActivity" android:label="@string/app_name"> 
  10.    <intent-filter> 
  11.     <action android:name="android.intent.action.MAIN" /> 
  12.     <category android:name="android.intent.category.LAUNCHER" /> 
  13.    </intent-filter> 
  14.   </activity> 
  15.  </application> 
  16.  <uses-sdk android:minSdkVersion="8" /> 
  17.  
  18.  <!-- 配置单元测试框架启动装置 --> 
  19.  <!-- android:targetPackage理解为测试项目部署在哪个Activity,而不是测试类所在包 --> 
  20.  <instrumentation android:name="android.test.InstrumentationTestRunner" 
  21.   android:targetPackage="cn.xy.app" android:label="xy_test" /> 
  22. </manifest>   
  23.  

<uses-library android:name="android.test.runner" />

引入测试相关类库

<instrumentation android:name="android.test.InstrumentationTestRunner"android:targetPackage="cn.xy.app" android:label="xy_test" />

配置单元测试框架启动装置

 

三、编写测试代码

 

 
  1. package cn.xy.test;  
  2.  
  3. import junit.framework.Assert;  
  4. import android.test.AndroidTestCase;  
  5. import cn.xy.service.PersonService;  
  6.  
  7. public class TestClass extends AndroidTestCase  
  8. {  
  9.  public void testSave() throws Exception  
  10.  {  
  11.   PersonService ps = new PersonService();  
  12.   ps.save();  
  13.  }  
  14.  
  15.  public void testGetPerson() throws Exception  
  16.  {  
  17.   PersonService ps = new PersonService();  
  18.   String name = ps.getPersonName();  
  19.   Assert.assertEquals("xy", name);  
  20.  }  
  21. }  
  22.  

测试类要继承AndroidTestCase类,测试方法要以test开头。

注意到该测试类放在cn.xy.test包下,而不是cn.xy.app下,并不影响,印证了android:targetPackage理解为测试项目部署在哪个Activity,而不是测试类所在包。

 

四、运行

直接将鼠标放在方法上邮寄Run AS——>Android Junit Test,会被部署到手机上作为一个Activity运行,方法运行的结果仍然以红条或者绿条显示,很以前纯Junit一样。

 

五、总结

这是一种方式,还可以直接建立Android Test Project。

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1075462如需转载请自行联系原作者


woshixuye111

相关文章
|
9天前
|
测试技术
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
本文介绍了如何使用Pytest和Allure生成自动化测试报告。通过安装allure-pytest和配置环境,可以生成包含用例描述、步骤、等级等详细信息的美观报告。文章还提供了代码示例和运行指南,以及重构项目时的注意事项。
43 1
自动化测试项目学习笔记(五):Pytest结合allure生成测试报告以及重构项目
|
3天前
|
人工智能 监控 测试技术
云应用开发平台测试
云应用开发平台测试
14 2
|
12天前
|
缓存 搜索推荐 Android开发
安卓开发中的自定义控件基础与进阶
【10月更文挑战第5天】在Android应用开发中,自定义控件是提升用户体验和界面个性化的重要手段。本文将通过浅显易懂的语言和实例,引导你了解自定义控件的基本概念、创建流程以及高级应用技巧,帮助你在开发过程中更好地掌握自定义控件的使用和优化。
25 10
|
4天前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
24 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
|
9天前
|
测试技术 Python
自动化测试项目学习笔记(四):Pytest介绍和使用
本文是关于自动化测试框架Pytest的介绍和使用。Pytest是一个功能丰富的Python测试工具,支持参数化、多种测试类型,并拥有众多第三方插件。文章讲解了Pytest的编写规则、命令行参数、执行测试、参数化处理以及如何使用fixture实现测试用例间的调用。此外,还提供了pytest.ini配置文件示例。
14 2
|
9天前
|
测试技术 Python
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
本文主要介绍了自动化测试中setup、teardown、断言方法的使用,以及unittest框架中setUp、tearDown、setUpClass和tearDownClass的区别和应用。
23 0
自动化测试项目学习笔记(二):学习各种setup、tearDown、断言方法
|
9天前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
44 0
|
9天前
|
消息中间件 存储 前端开发
资深Android开发的5个经典面试题
本文首发于公众号“AntDream”,欢迎关注。文章详细解答了五个常见的Android面试题,涵盖内存泄漏与溢出、Binder机制、MVC/MVP/MVVM架构、Handler机制及Context对象等内容,帮助读者深入了解Android开发的核心概念。
16 0
|
9天前
|
存储 安全 Android开发
探索Android开发之旅:从新手到专家的蜕变之路
【10月更文挑战第8天】在这篇文章中,我们将共同踏上一段激动人心的旅程,深入探索Android开发的奥秘。无论你是初涉编程世界的新手,还是渴望提升技能的开发者,这里都有你需要的知识与启示。通过简洁明了的语言和实际案例,我们将一起解锁Android开发的核心概念、掌握关键技能,并最终实现从新手到专家的华丽转变。
|
10天前
|
Android开发
Android开发显示头部Bar的需求解决方案--Android应用实战
Android开发显示头部Bar的需求解决方案--Android应用实战
13 0