《Android游戏编程入门经典》——1.7节小结
本节书摘来自异步社区《Android游戏编程入门经典》一书中的第1章,第1.7节小结,作者【美】Jonathan S. Harbour,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.7 小结Android游戏编程入门经典Android操作系统已经迅速成熟了,仅用了三年的时间。最新的版本Android 4完全可以与iPhone和Windows Phone进行竞争。您将使用Java语言和Android SDK在该平台上编写游戏代码。
本节书摘来自异步社区《Android 应用测试指南》一书中的第1章,第1.5节Android测试框架,作者 【阿根廷】Diego Torres Milano(迭戈 D.),更多章节内容可以访问云栖社区“异步社区”公众号查看
1.5 Android测试框架
Android提供了一个高级的测试框架,这个框架是JUnit的一个扩展,在标准JUnit的基础上插入了方便执行上述测试的插件。有的情况下,我们需要再装一些工具,而且集成这些工具大多情况下都很简单和直接。
Android测试环境的关键特性包括以下这些:
Android在JUnit框架基础上扩展了访问系统对象的方法;
通过模拟器框架可以测试应用和控制器;
提供了常用的、不同版本的系统对象的模拟器;
提供了执行单个用例、用例集的工具,无须模拟器;
提供测试用例、工程的管理工具,在ADT的Eclipse插件中,用命令行来控制。
1.5.1 模拟器
模拟器框架是测试框架的基础。模拟器控制被测的应用,并且允许插入桩来模拟应用的某些部件的执行。比如,你可以在应用启动之前创建模拟的Context,应用程序将会用模拟的Context来执行。
所有的应用程序跟周边环境的交互都可以通过上述方式来控制。你可以将应用程序封闭到一个十分严谨单一的条件下来得到预期的结果,强行设置某些方法的输出或者模拟ContentProvider中的常量、数据库、甚至文件系统的内容。
一个标准的Android工程都会有相应的测试工程,这个测试通常以Test开头。在Test工程中,AndriodManifest.xml中定义了使用的机器。
举个例子描述,假设你的工程配置文件如框1.5所示。
框1.5 主工程的AndriodManifest.xml配置文件
< ?xml version="1.0" encoding="utf-8"?>
< manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.aatg.sample"
android:versionCode="1"
android:versionName="1.0">
< application android:icon="@drawable/icon"
android:label="@string/app_name">
< activity android:name=".SampleActivity"
android:label="@string/app_name">
< intent-filter>
< action android:name="android.intent.action.MAIN" />
< category android:name=
"android.intent.category.LAUNCHER" />
< /intent-filter>
< /activity>
< /application>
< uses-sdk android:minSdkVersion="7" />
< /manifest>
在这个项目里,相关的测试工程配置文件AndriodManifest.xml如框1.6所示。
框1.6 测试工程的AndriodManifest.xml配置文件
< ?xml version="1.0" encoding="utf-8"?>
< manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.aatg.sample.test"
android:versionCode="1" android:versionName="1.0">
< application android:icon="@drawable/icon"
android:label="@string/app_name">
< uses-library android:name="android.test.runner" />
< /application>
< uses-sdk android:minSdkVersion="7" />
< instrumentation
android:targetPackage="com.example.aatg.sample"
android:name="android.test.InstrumentationTestRunner"
android:label="Sample Tests" />
< uses-permission android:name="
android.permission.INJECT_EVENTS" />
< /manifest>
这里的模拟器包作为主项目包,带着.test后缀。
定义模拟器的时候,会指定目标包和测试执行器,在这个情况下,默认的客户端执行器是android.test.InstrumentationTestRunner。
另外,被测应用和测试工程一样,都是apk安装的Android程序。它们都在同一个进程中,因此,能访问相同的功能特性。
当你执行一个测试应用程序的时候,行为管理器(http://developer.andriod.com/intl/de/reference/andriod/app/ActivityManager.html)利用模拟器框架来启动和控制测试执行器,然后测试执行器反过来利用模拟器工具来关闭主程序运行的实例,启动测试进程,最后,在同一个进程中启动主程序。这种方式使得各种各样的测试应用可以直接在主应用中工作。
1.5.2 测试对象
在项目开发过程中,你的测试用例必须在不同的设备上执行。从操作简单、方便,到响应速度等方面考虑,都要求最后必须在具体设备上测试,并且是在所有类型的设备上测试。
当然,有的测试用例会在本地JVM虚拟机上执行,有的用例在开发机上执行,有的在Dalvik或者活动虚拟机上执行,具体情况取决于测试用例的特点。
上述执行用例的方式都有各自的优缺点,幸运的是,你可以自由决定如何来执行你的用例。
仿真器是一个非常棒的执行平台,可能是最强大的,因为它可以让你修改测试过程中所有的参数、配置以及各种执行环境。测试最根本的目的是让你的程序能够正确处理所有场景,因此,最好在程序发布之前发现所有的问题。
性能测试需要使用真机,因为模拟仿真设备多少跟真机会有不同的地方。只有用真机才能体会到用户的真实感受。渲染、滚屏、投掷以及其他场景都需要发布之前用真机测试一次。
微信关注我们
转载内容版权归作者及来源网站所有!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。
为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。
Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。