Android上的单元测试.ppt
上传者:孔乙己
2022-06-27 11:02:05上传
PPT文件
492 KB
Android上的单元测试
汇报人:
Instrumentation的功能
添加、删除ActivityMoniter
控制Application、Activity的创建与生命周期
控制Instrumentation的运行
发送按键、滚动球等事件消息到当前窗口
同步某些操作(等待Activity创建完毕、等待主线程空闲、等待某个操作执行完毕)
使用instrumentation单元测试的实例
编写需要测试的主体代码activity
编写测试类
修改manifest文件
运行
编写需要测试的主体代码activity
package com.android.ut;import android.app.activity;import android.os.bundle;public class androidut extends activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } public int add(int a, int b) { return a + b; }}
编写测试类
package com.android.ut.test;import com.android.ut.androidut;import android.test.activityinstrumentationtestcase;public class testapp extends activityinstrumentationtestcase<androidut> { public testapp() { super("com.android.ut", androidut.class); } public void testsum() { assertequals(5, getactivity().add(2, 3)); } }
修改manifest文件
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.ut" android:versioncode="1" android:versionname="1.0.0"> <application android:icon="***@drawable/icon" android:label="***@string/app_name"> <activity android:name=".androidut" android:label="***@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <uses-library android:name="android.test.runner" /> </application> <instrumentation android:targetpackage="com.android.ut" android:name="android.test.instrumentationtestrunner" android:label="test unit tests"></instrumentation></manifest>
也可以将instrumentation定义成一个单独的apk
合作愉快
汇报人:
Instrumentation的功能
添加、删除ActivityMoniter
控制Application、Activity的创建与生命周期
控制Instrumentation的运行
发送按键、滚动球等事件消息到当前窗口
同步某些操作(等待Activity创建完毕、等待主线程空闲、等待某个操作执行完毕)
使用instrumentation单元测试的实例
编写需要测试的主体代码activity
编写测试类
修改manifest文件
运行
编写需要测试的主体代码activity
package com.android.ut;import android.app.activity;import android.os.bundle;public class androidut extends activity { public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.main); } public int add(int a, int b) { return a + b; }}
编写测试类
package com.android.ut.test;import com.android.ut.androidut;import android.test.activityinstrumentationtestcase;public class testapp extends activityinstrumentationtestcase<androidut> { public testapp() { super("com.android.ut", androidut.class); } public void testsum() { assertequals(5, getactivity().add(2, 3)); } }
修改manifest文件
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.android.ut" android:versioncode="1" android:versionname="1.0.0"> <application android:icon="***@drawable/icon" android:label="***@string/app_name"> <activity android:name=".androidut" android:label="***@string/app_name"> <intent-filter> <action android:name="android.intent.action.main" /> <category android:name="android.intent.category.launcher" /> </intent-filter> </activity> <uses-library android:name="android.test.runner" /> </application> <instrumentation android:targetpackage="com.android.ut" android:name="android.test.instrumentationtestrunner" android:label="test unit tests"></instrumentation></manifest>
也可以将instrumentation定义成一个单独的apk
合作愉快
Android上的单元测试