


下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】简单搭建环境,测试Android应用
如果你编写完Android应用软件,要进行一个测试,可以学习这个方法,具体内容如下所示:用Eclipse建立测试首先搭建测试环境:下载安装Eclipse
ADT插件导入或创建我们想要测试的Android应用项目。生成一个对应于应用程序项目测试的测试项目。为导入项目生成一个测试项目:a.在项目浏览器里,右击我们的应用项目,然后选择AndroidTools>NewTestProject
b.在新建Android测试项目面板,为我们的测试项目设置合适的参数,然后点击Finish上面环境搭建好后可以进入创建与执行测试用例:创建一个测试用例Activity测试都是通过结构化的方式编写的。请务必把测试代码放在一个单独的包内,从而与被测试的代码分开。按照惯例,测试包的名称应该遵循与应用包名相同的命名方式,在应用包名后接“.tests”。在创建的测试包中,为我们的测试用例添加Java类。按照惯例,测试用例名称也应遵循要测试的Java或Android的类相同的名称,并增加后缀“Test”。要在Eclipse中创建一个新的测试用例可遵循如下步骤:a.在PackageExplorer中,右键点击待测试工程的src/文件夹,New>Package。b.设置文件夹名称<你的包名称>.tests(比如,
com.example.android.testingfun.tests)并点击Finish。c.右键点击创建的测试包,并选择New>Calss。d.设置文件名称<你的Activity名称>Test(比如,
MyFirstTestActivityTest),然后点击Finish。建立测试数据集(Fixture)测试数据集包含运行测试前必须生成的一些对象。要建立测试数据集,可以在我们的测试中覆写setUp()和tearDown()方法。测试会在运行任何其它测试方法之前自动执行setUp()方法。我们可以用这些方法使得被测试代码与测试初始化和清理是分开的。在你的Eclipse中建立测试数据集:1.在PackageExplorer中双击测试打开之前编写的测试用例,然后修改测试用例使它继承ActivityTestCase的子类。比如:public
class
MyFirstTestActivityTest
extends
ActivityInstrumentationTestCase2<MyFirstTestActivity>
{2.下一步,给测试用例添加构造函数和setUp()方法,并为我们想测试的Activity添加变量声明。比如:public
class
MyFirstTestActivityTest
extends
ActivityInstrumentationTestCase2<MyFirstTestActivity>
{
private
MyFirstTestActivity
mFirstTestActivity;
private
TextView
mFirstTestText;
public
MyFirstTestActivityTest()
{
super(MyFirstTestActivity.class);
}
@Override
protected
void
setUp()
throws
Exception
{
super.setUp();
mFirstTestActivity
=
getActivity();
mFirstTestText
=
(TextView)
mFirstTestActivity
.findViewById(R.id.my_first_test_text_view);
}
}构造函数是由测试用的Runner调用,用于初始化测试类的,而setUp()方法是由测试Runner在其他测试方法开始前运行的。通常在setUp()方法中,我们应该:为setUp()
调用父类构造函数,这是JUnit要求的。初始化测试数据集的状态,具体而言:定义保存测试数据及状态的实例变量创建并保存正在测试的Activity的引用实例。获得想要测试的Activity中任何UI组件的引用。我们可以使用getActivity()方法得到正在测试的Activity的引用。增加一个测试前提我们最好在执行测试之前,检查测试数据集的设置是否正确,以及我们想要测试的对象是否已经正确地初始化。这样,测试就不会因为有测试数据集的设置错误而失败。按照惯例,验证测试数据集的方法被称为testPreconditions()。例如,我们可能想添加一个像这样的testPreconditons()方法:public
void
testPreconditions()
{
assertNotNull(“mFirstTestActivity
is
null”,
mFirstTestActivity);
assertNotNull(“mFirstTestText
is
null”,
mFirstTestText);
}Assertion(断言,译者注)方法源自于JunitAssert类。通常,我们可以使用断言来验证某一特定的条件是否是真的。如果条件为假,断言方法抛出一个AssertionFailedError异常,通常会由测试Runner报告。我们可以在断言失败时给断言方法添加一个字符串作为第一个参数从而给出一些上下文详细信息。如果条件为真,测试通过。在这两种情况下,Runner都会继续运行其它测试用例的测试方法。添加一个测试方法来验证Activity下一步,添加一个或多个测试方法来验证Activity布局和功能。例如,如果我们的Activity含有一个TextView,可以添加如下方法来检查它是否有正确的标签文本:public
void
testMyFirstTestTextView_labelText()
{
final
String
expected
=
mFirstTestActivity.getString(R.string.my_first_test);
final
String
actual
=
mFirstTestText.getText().toString();
assertEquals(expected,
actual);
}该
testMyFirstTestTextView_labelText()
方法只是简单的检查Layout中TextView的默认文本是否和strings.xml资源中定义的文本一样。注意:当命名测试方法时,我们可以使用下划线将被测试的内容与测试用例区分开。这种风格使得我们可以更容易分清哪些是测试用例。注意:当命名测试方法时,我们可以使用下划线将被测试的内容与测试用例区分开。这种风格使得我们可以更容易分清哪些是测试用例。做这种类型的字符串比较时,推荐从资源文件中读取预期字符串,而不是在代码中硬性编写字符串做比较。这可以防止当资源文件中的字符串定义被修改时,会影响到测试的效果。为了进行比较,预期的和实际的字符串都要做为assertEquals()方法的参数。如果值是不一样的,断言将抛出一个AssertionFailedError异常。如果添加了一个testPreconditions()方法,我们可以把测试方法放在testPreconditions之后。要参看一个完整的测试案例,可以参考本节示例中的MyFirstTestActivityTest.java。构建和运行测试我们可以在Eclipse中的包浏览器(PackageExplorer)中运行我们的测试。利用如下步骤构建和运行测试:连接一个Android设备,在设备或模拟器中,打开设置菜单,选择开发者选项并确保启用USB调试。在包浏览器(PackageExplorer)中,右键单击测试类,并选择RunAs>AndroidJunitTes
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 区域独家经销合同样本
- 小学生漫画课件
- 农用薄膜在不同作物上的应用考核试卷
- 体育经纪人运动员经纪人职业发展与转型路径考核试卷
- 建筑物清洁服务中的物联网技术应用考核试卷
- 期货市场交易技能培训与模拟交易考核试卷
- 人工智能在电力系统中的电网智能化运维考核试卷
- 有线电视传输网络无线覆盖与接入技术考核试卷
- 服装生命周期管理考核试卷
- 信托与G网络频谱规划实施策略考核试卷
- 地下车库螺旋汽车坡道施工
- 2023年山东铝业职业学院单招综合素质题库及答案解析
- 【人教版二年级下册数学】全册课时巩固提升练习和单元巩固提升练习
- GB/T 2007.1-1987散装矿产品取样、制样通则手工取样方法
- 交流课:资本主义世界市场的形成
- 城市社会学(2015)课件
- 年产2万吨马来酸二乙酯技改建设项目环评报告书
- 中国古代文论教程完整版课件
- 中班美工区角活动教案10篇
- SJG 103-2021 无障碍设计标准-高清现行
- 皇冠假日酒店智能化系统安装工程施工合同范本
评论
0/150
提交评论